Docker 入门:常用命令与镜像管理实践

举报
yd_274862470 发表于 2026/10/22 10:29:31 2026/10/22
【摘要】 一、背景在日常开发中,我们经常遇到这样的困扰:在本地运行良好的应用,部署到测试环境或生产环境后却出现各种异常。究其原因,往往是环境不一致导致的:操作系统版本、依赖库版本、配置文件路径等细微差异,都可能让程序“水土不服”。Docker 正是为解决这类问题而生的容器化技术。它将应用及其运行所需的依赖打包成一个轻量、可移植的镜像(Image),在任何安装了 Docker 的主机上都能以相同的方式...

一、背景

在日常开发中,我们经常遇到这样的困扰:在本地运行良好的应用,部署到测试环境或生产环境后却出现各种异常。究其原因,往往是环境不一致导致的:操作系统版本、依赖库版本、配置文件路径等细微差异,都可能让程序“水土不服”。

Docker 正是为解决这类问题而生的容器化技术。它将应用及其运行所需的依赖打包成一个轻量、可移植的镜像(Image),在任何安装了 Docker 的主机上都能以相同的方式运行。这种“一次构建、处处运行”的特性,让 Docker 成为现代应用交付的标准工具之一。

二、安装后常用命令

安装完成后,可以先用以下命令确认 Docker 正常工作:

  • docker version:查看 Docker 客户端与服务端的版本信息;
  • docker info:查看 Docker 系统的详细信息,包括镜像与容器数量、存储驱动等;
  • docker --help:查看命令帮助,每个子命令也支持 --help 查看详细用法。

日常使用频率最高的几个命令:

  • docker pull <镜像名>:从镜像仓库拉取镜像,例如 docker pull nginx:latest;
  • docker images:列出本地已有的镜像;
  • docker run:基于镜像创建并启动容器,是最核心的命令之一;
  • docker ps:查看正在运行的容器,加上 -a 参数可查看所有容器(含已停止的);
  • docker stop <容器名/ID> / docker start <容器名/ID>:停止 / 启动容器;
  • docker rm <容器名/ID>:删除已停止的容器;
  • docker exec -it <容器名> /bin/bash:进入正在运行容器的交互式终端。

掌握这几个命令,就能完成大部分日常操作。

三、镜像与容器管理

理解镜像与容器的关系是 Docker 入门的关键:镜像是只读的模板,容器是镜像运行时的实例。可以把镜像想象成“类”,容器则是“对象”——同一个镜像可以启动多个相互隔离的容器。

镜像管理常用命令:

  • docker images:查看本地镜像列表,关注 REPOSITORY(仓库名)、TAG(标签)、IMAGE ID;
  • docker rmi <镜像ID>:删除本地镜像(需先删除依赖它的容器);
  • docker tag <镜像ID> <新名称>:<标签>:为镜像打标签,常用于发布前命名;
  • docker build -t <名称>:<标签> .:根据当前目录的 Dockerfile 构建镜像;
  • docker save -o xxx.tar <镜像> / docker load -i xxx.tar:镜像的导出与导入,适合离线环境迁移。

容器管理常用命令:

  • docker run -d --name my-nginx -p 8080:80 nginx:以后台方式启动容器,命名为 my-nginx,并把宿主机 8080 端口映射到容器 80 端口;
  • docker logs <容器名>:查看容器日志,加上 -f 可实时跟踪;
  • docker inspect <容器名>:查看容器的详细信息(网络、挂载、配置等);
  • docker cp:在宿主机与容器之间拷贝文件。

一个好的习惯是:为容器指定 --name,避免使用难以记忆的随机名称;长期运行的服务使用 -d 后台运行;不再需要的容器及时 docker rm,避免堆积占用资源。

四、一个小实践:用 Docker 运行一个静态网站

下面通过一个完整的小实践,把上面的命令串起来。

  1. 准备一个简单的静态页面 index.html,内容随意,例如一句欢迎语;
  2. 在同一目录编写 Dockerfile:
FROM nginx:alpine
COPY index.html /usr/share/nginx/html/index.html
  1. 构建镜像:docker build -t my-site:1.0 .
  2. 启动容器:docker run -d --name my-site -p 8080:80 my-site:1.0
  3. 在浏览器访问 http://localhost:8080,即可看到页面;
  4. 修改 index.html 后重新构建并替换容器,体验“修改—构建—运行”的完整流程。

这个实践虽然简单,却完整覆盖了“编写 Dockerfile → 构建镜像 → 运行容器 → 端口映射 → 访问验证”的核心链路,是理解 Docker 工作流的最佳起点。

五、总结

Docker 的学习曲线并不陡峭:先理解“镜像是模板、容器是实例”这一核心概念,再熟练掌握 run、ps、images、exec、logs、rm、rmi 等常用命令,就能应对大多数日常场景。建议初学者从运行现成镜像开始,逐步尝试自己编写 Dockerfile,在实践中体会容器化带来的环境一致性与部署便利性。当你能用一条 docker run 命令在任何机器上拉起相同的应用环境时,Docker 就真正成为了你的生产力工具。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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