Docker 入门:从安装到运行第一个容器

举报
yd_233292016 发表于 2026/10/24 09:27:41 2026/10/24
【摘要】 最近在工作中频繁接触容器化部署,发现身边还有不少同学对 Docker 的理解仍停留在「听说过」的阶段。今天结合自己的实践经验,写一篇真正面向新手的 Docker 入门指南:从安装到运行第一个容器,帮你把 Docker 真正用起来。 一、为什么要用 Docker在没有 Docker 之前,部署一个应用常常是这样的:开发机上跑得好好的,到了测试环境就各种报错——依赖版本不一致、缺系统库、配置文件...

最近在工作中频繁接触容器化部署,发现身边还有不少同学对 Docker 的理解仍停留在「听说过」的阶段。今天结合自己的实践经验,写一篇真正面向新手的 Docker 入门指南:从安装到运行第一个容器,帮你把 Docker 真正用起来。

一、为什么要用 Docker

在没有 Docker 之前,部署一个应用常常是这样的:开发机上跑得好好的,到了测试环境就各种报错——依赖版本不一致、缺系统库、配置文件路径不同。大家戏称「在我机器上是好的」。

Docker 用容器技术把「应用 + 依赖 + 运行环境」打包成一个镜像,不管在谁的机器上,只要 Docker 能跑,镜像就能跑,彻底解决「环境不一致」这个老大难问题。

二、四个核心概念

  • 镜像(Image):只读的模板,比如一个打包好的 Nginx、MySQL。镜像是分层存储的,每一层记录一次文件变化。
  • 容器(Container):镜像运行起来的实例。可以把它理解成一个轻量级的「沙盒进程」,秒级启动。
  • 仓库(Registry):存放镜像的地方,类似代码的 Git 仓库,官方的叫 Docker Hub。
  • Dockerfile:用文本描述「如何构建镜像」的脚本,是自己制作镜像的起点。

记住一句话:镜像是类,容器是对象。

三、安装 Docker

Ubuntu / Debian 上一条命令即可完成安装:

curl -fsSL https://get.docker.com | sh

安装完成后执行 docker version,能看到客户端和服务端版本信息就说明装好了。Windows 和 macOS 用户可以直接下载 Docker Desktop,图形化安装更省心。

四、常用命令速览

docker pull nginx          # 拉取镜像
docker images              # 查看本地镜像
docker run -d -p 8080:80 --name my-nginx nginx   # 后台运行容器
docker ps                  # 查看运行中的容器
docker logs my-nginx       # 查看容器日志
docker exec -it my-nginx bash   # 进入容器内部
docker stop my-nginx       # 停止容器
docker rm my-nginx         # 删除容器
docker rmi nginx           # 删除镜像

五、实战:运行第一个容器

执行下面这条命令:

docker run -d -p 8080:80 --name my-nginx nginx

参数解释:-d 表示后台运行,-p 8080:80 把容器的 80 端口映射到本机 8080 端口,--name 给容器起个名字。打开浏览器访问 http://localhost:8080,看到 Nginx 欢迎页就说明成功了!

六、写一个自己的 Dockerfile

FROM python:3.11-slim
WORKDIR /app
COPY . .
RUN pip install -r requirements.txt
CMD ["python", "app.py"]

执行 docker build -t myapp:1.0 . 构建镜像,再 docker run -d -p 5000:5000 myapp:1.0 运行——你的应用就完成容器化了。

七、新手避坑指南

  1. 容器里的数据不要当宝贝:容器删了,里面写的数据就没了。重要数据一定要用 -v 挂载卷。
  2. 注意 -p 的端口顺序:-p 本机端口:容器端口,写反了访问不通。
  3. 及时清理:docker system prune 可以清理已停止的容器和悬空镜像,磁盘告急时很好用。
  4. 一个容器只做一件事:不要把 MySQL、Redis、应用全塞进一个容器,拆开更利于维护。

八、小结

Docker 的学习曲线其实很平缓:理解镜像和容器的关系,记住十来个常用命令,再亲手跑通一个 Nginx 和一个自己的应用,就算是入门了。下一步可以继续学习 Docker Compose 编排多容器,以及镜像体积优化。希望这篇指南能帮你迈出容器化的第一步!

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。