Docker 入门:从镜像到容器的五个关键概念

举报
yd_284037603 发表于 2026/11/01 19:38:16 2026/11/01
【摘要】 Docker 入门:讲清楚镜像、容器、仓库、Dockerfile、数据卷五个关键概念,看完就能看懂大部分 Docker 命令。

前言

容器化已经成为后端开发的标配技能,而 Docker 是绕不开的第一站。很多初学者装完 Docker 后只记得 docker run,对背后的概念一头雾水。这篇文章用最短的篇幅讲清楚五个关键概念,看完你就能看懂大部分 Docker 命令。

一、镜像(Image)

镜像是一个只读的模板,好比程序的"安装光盘"。它包含了运行应用所需的代码、运行时、依赖库和配置。镜像采用分层结构,每一层代表一次修改,多层可以被不同镜像共享,这正是 Docker 轻量的原因。

docker pull nginx:latest   # 从镜像仓库拉取
docker images              # 查看本地镜像

二、容器(Container)

容器是镜像的运行实例,相当于"用光盘装好并开机的那台机器"。它启动快、开销小,删掉容器不会影响镜像本身。日常最常用的三条命令:

docker run -d -p 8080:80 --name web nginx   # 后台启动并映射端口
docker ps                                    # 查看运行中的容器
docker stop web && docker rm web             # 停止并删除

三、仓库(Registry)

仓库用来存放和分发镜像。Docker Hub 是默认的公共仓库,企业内网常用 Harbor 搭建私有仓库。推送镜像的流程是:构建 → 打标签 → 推送:

docker tag myapp:v1 registry.example.com/team/myapp:v1
docker push registry.example.com/team/myapp:v1

四、Dockerfile

Dockerfile 是描述"如何构建镜像"的脚本。一个最小的 Python 应用镜像长这样:

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

执行 docker build -t myapp:v1 . 即可生成镜像。写 Dockerfile 的诀窍是:把变动少的步骤(装依赖)放在前面的层,把频繁改动的代码 COPY 放在后面,这样能充分利用缓存,构建速度快很多。

五、数据卷(Volume)

容器是"用完即弃"的,里面的数据默认会随容器一起消失。要让数据活过容器的生命周期,就要用数据卷把宿主机目录挂载进容器:

docker run -d -v /data/mysql:/var/lib/mysql mysql:8

小结

记住这条主线就够了:用 Dockerfile 构建镜像 → 镜像推到仓库 → 从仓库拉取并 run 成容器 → 用 Volume 保存数据。理解了这五个概念,再看 docker-compose、Kubernetes 就不会陌生——它们本质上都是在更高层面编排这些镜像和容器。建议亲手跑一遍上面的命令,动手十分钟胜过再看十篇教程。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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