Docker 入门:从镜像到容器的第一次实操

举报
yd_266952352 发表于 2026/10/23 09:31:13 2026/10/23
【摘要】 刚接触 Docker 常被镜像、容器、仓库、Dockerfile 等名词吓住。其实一个类比就能串起来:镜像是安装包,容器是运行起来的程序实例。本文带你走完拉镜像、跑容器、进容器看一眼、停掉清理的完整闭环,照着敲一遍就能上手。

Docker 入门:从镜像到容器的第一次实操

刚接触 Docker 的人常被一堆名词吓住:镜像、容器、仓库、Dockerfile……其实把它们串起来只需要一个类比:镜像是安装包,容器是运行起来的程序实例。今天这篇短文带你走完「拉镜像 → 跑容器 → 进容器看一眼 → 停掉删掉」的完整闭环。

先确认环境

安装好 Docker 后,第一件事不是急着跑容器,而是确认守护进程是活的:

docker version
docker info

docker version 能分别打出 Client 和 Server 的版本,说明本机 Docker 已经就绪。如果 Server 部分报错,多半是 Docker 服务没启动,先 systemctl start docker(Linux)或打开 Docker Desktop(Windows/macOS)。

拉取你的第一个镜像

用官方的 hello-world 镜像热身,它只有几 KB,专门用来验证环境:

docker pull hello-world
docker images

docker images 会列出本地所有镜像,注意看三个字段:REPOSITORY(镜像名)、TAG(版本标签)、SIZE(体积)。镜像是只读的分层文件系统,你可以把它理解成一个「做好的系统快照」,自己不会动。

跑起来:你的第一个容器

docker run hello-world

这条命令做了三件事:检查本地有没有 hello-world 镜像(没有就自动拉取)、基于镜像创建一个可写的容器层、启动容器并执行它的默认命令。看到那句 “Hello from Docker!” 就说明闭环通了。

再来个更有体感的例子,跑一个 Nginx:

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

参数拆开看:-d 是后台运行(detached),-p 8080:80 把容器的 80 端口映射到本机的 8080 端口,--name 给容器起个好记的名字。跑完后浏览器打开 http://localhost:8080,能看到 Nginx 欢迎页,就说明「容器里的服务」已经透过端口映射被你摸到了。

进容器里看一眼

容器跑起来后,你可以用 exec 进去逛一圈:

docker exec -it my-nginx /bin/bash

-it 是交互式终端的经典组合。进去之后 ls /usr/share/nginx/html 能看到网页文件的真身,exit 退出来,容器还在后台跑着——这就是「容器」和「镜像」的本质区别:镜像是模板,容器是模板实例化之后的可运行、可进出的活环境。

停掉与清理:别留僵尸容器

新手最容易犯的错是容器越跑越多,最后 docker ps 一长串。养成随手清理的习惯:

docker stop my-nginx      # 停止容器
docker rm my-nginx        # 删除容器
docker ps -a              # 看看还剩谁

如果想「跑完即焚」,启动时加 --rm 参数,容器退出后自动删除,特别适合一次性试验:

docker run --rm -it ubuntu bash

三个新手常踩的坑

  1. 端口冲突:-p 8080:80 报错 address already in use,说明本机 8080 已被占用,换个端口如 8081 即可。
  2. 镜像拉不动:国内网络拉取 Docker Hub 可能很慢,配置一个国内镜像加速器能省大量时间,这是生产力配置而非可选项。
  3. 容器里改了东西重启就没:容器可写层随容器删除而消失,重要数据要用 -v 挂载卷持久化——这是下一课的内容。

小结

今天的闭环只有五个命令:pull、images、run、exec、stop/rm。记住那句类比——镜像是安装包,容器是装好并跑起来的软件——后面学 Dockerfile(自己打安装包)和 docker-compose(一次装一套软件),都是在这个心智模型上加零件。动手把上面的命令敲一遍,比看十篇文章管用。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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