Docker 入门:从镜像到容器的第一课

举报
yd_262156215 发表于 2026/10/30 21:19:59 2026/10/30
【摘要】 用一篇文章讲清 Docker 的镜像、容器与仓库:从拉取 Nginx 镜像跑通第一个容器,到常用命令、Dockerfile 入门和新手易踩的坑,给出一条可动手验证的学习路线。

第一次接触 Docker,很多人会问:它和虚拟机有什么不同?一句话概括:虚拟机是搬一整台电脑,容器是把应用和它需要的运行环境打包成一个轻量、可移植的盒子,共享宿主机的操作系统内核,所以启动更快、占用更少。

先分清三个概念。镜像是一个只读模板,里面装着操作系统基础文件、运行环境和应用代码;容器是镜像运行起来的实例,可以启动、停止和删除;仓库则是存放镜像的地方,拉取镜像就像下载安装包。镜像分层设计让复用变得容易:改动一层,只需重新构建这一层,其余层可以复用。

动手之前,先检查 Docker 是否已经安装并能正常运行。打开终端,运行 docker version,如果能看到客户端和服务端版本,说明环境已经就绪。接下来拉取一个官方的 Nginx 镜像并运行它,访问本地的 8080 端口,就能看到默认欢迎页。这一步不需要写任何代码,却能直观理解“拉镜像、跑容器、映射端口”三个动作。

日常最常用的命令并不多。docker ps 查看正在运行的容器,docker ps -a 查看所有容器,docker stop 和 docker rm 分别用于停止和删除容器,docker images 查看本地镜像,docker logs 查看容器日志。刚开始不必背全所有参数,先把这几个命令用熟,遇到问题再查文档,效率反而更高。

写一个简单的 Dockerfile 是进阶的关键一步。以 Python 应用为例:先选择一个官方基础镜像,复制代码到工作目录,安装依赖,最后指定启动命令。构建镜像后运行容器,应用就能在与开发环境高度一致的运行时里工作。这样可以减少“在我电脑上能跑,换个环境就不行”的问题。

使用容器时有几个容易踩的坑。第一,不要把重要数据只存在容器里,容器删除后数据也会消失,需要用挂载卷把数据保存到宿主机或专门的数据卷。第二,端口映射要写清楚,容器内端口和宿主机端口不是一回事。第三,镜像体积并非越小越好,但要避免把调试工具、缓存和无关文件都塞进生产镜像。第四,尽量使用官方或可信来源的基础镜像,并固定版本号,不要长期依赖 latest。

对新手来说,一条比较稳妥的学习路线是:先跑通一个现成镜像,再学会查看日志和进入容器排查问题,然后写自己的 Dockerfile,最后尝试用 Compose 把应用和数据库等多个容器组织起来。每个阶段都动手验证一次,比只看文档印象更深。

容器不是万能药。它适合标准化、可重复部署的应用,但对强隔离、特殊内核需求或已有成熟虚拟化流程的场景,虚拟机仍然有价值。理解两者的边界,比争论谁更好更重要。从一个小应用开始,把镜像、容器、端口和数据卷的关系理清楚,Docker 就算真正入门了。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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