Docker 入门:用三句话理解镜像、容器和仓库

举报
yd_299495290 发表于 2026/10/22 23:42:55 2026/10/22
【摘要】 Docker 入门:用三句话理解镜像、容器和仓库刚接触 Docker 的人最容易被三个词绕晕:镜像(Image)、容器(Container)、仓库(Registry)。其实用一个类比就全通了——把镜像想成"系统安装盘",容器想成"装好系统的电脑",仓库想成"软件商店"。 镜像:只读的模板镜像是一个只读的文件模板,里面打包了运行某个软件所需的一切:操作系统层、依赖库、配置文件、代码。比如 n...

Docker 入门:用三句话理解镜像、容器和仓库

刚接触 Docker 的人最容易被三个词绕晕:镜像(Image)、容器(Container)、仓库(Registry)。其实用一个类比就全通了——把镜像想成"系统安装盘",容器想成"装好系统的电脑",仓库想成"软件商店"。

镜像:只读的模板

镜像是一个只读的文件模板,里面打包了运行某个软件所需的一切:操作系统层、依赖库、配置文件、代码。比如 nginx:latest 这个镜像,拉下来就自带了 Nginx 和它要的运行环境,你不用再操心 apt install 装了什么版本。

镜像是分层存储的。每一层对应 Dockerfile 里的一条指令,层与层之间共享复用——这就是为什么拉 python:3.12 和 python:3.11 时,很多层显示 “Already exists”,省了大量下载时间。

容器:镜像跑起来的实例

docker run nginx 这条命令,就是拿 nginx 这张"安装盘"启动了一台"电脑"。容器是镜像的运行实例,相互隔离:A 容器里把 Nginx 玩坏了,B 容器毫无感觉。

关键特性:容器是临时的。docker rm 删掉容器,里面写的数据就没了(除非挂了 volume)。所以数据库这类有状态服务,一定要用 -v 把数据目录挂到宿主机或命名卷上,这是新手最常见的翻车点。

仓库:镜像的"应用商店"

docker pull 默认从 Docker Hub 拉镜像,国内建议配个镜像加速器。华为云、阿里云都提供免费的容器镜像服务(SWR),docker login 登录后 docker push 就能传自己的镜像,CI/CD 流水线就靠它流转。

三个马上能用的命令

docker run -d -p 8080:80 --name web nginx      # 启动一个 Nginx,宿主机 8080 端口访问
docker ps                                       # 看正在跑的容器
docker logs -f web                              # 跟踪容器日志,排错神器

记住这三层关系,后面学 Dockerfile、docker-compose 都是水到渠成。明天聊聊 Dockerfile 里 COPY 和 ADD 的区别——90% 的人第一次都写错。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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