前置知识阅读建议
▶点击回顾 第 2 章 Docker入门
▶点击回顾 2.1 设置Docker环境
▶点击回顾 2.2 Docker工作流程概述
Docker 命令:管理容器化应用的核心工具
Docker 的命令行(Docker CLI)就像是一把多功能的瑞士军刀,它是开发者和运维人员日常操作 Docker 的核心工具。掌握 Docker 命令,就像拿到了一套“万能控制面板”:你可以创建、部署、管理容器化环境,全流程无缝搞定。
一旦你熟练掌握这些命令,不仅能大大提升开发效率,还能帮你优化资源使用,把整个软件开发生命周期变得更快、更可靠、更自动化。
这一节,我们会深入讲解 Docker 中最常用、最关键的一系列命令,并按照功能分类梳理清楚,让你真正掌握如何高效管理容器化的应用。
本节将会介绍
-
Docker 命令入门指南
-
核心命令总览与分类
Docker 命令入门
在正式上手各种命令之前,先得搞清楚一个关键点:Docker 命令到底是怎么工作的?
这一小节我们就来讲一讲 Docker 命令的基本结构、使用逻辑,以及命令的种类分类——这会是你后续深入学习每个命令的“打地基”部分。
什么是 Docker CLI?
Docker CLI(命令行界面),是你和 Docker 引擎沟通的“对话窗口”。
你在终端里敲的那些命令,比如 docker run
、docker build
,就是 CLI 提供的。
通过它,你可以操作镜像(images)、容器(containers)、网络(networks)、存储卷(volumes)等等,整个 Docker 的世界都能被你掌控。
Docker 命令的基本语法结构
Docker 命令遵循一种统一、易学的语法结构:
docker <命令> <选项> <参数>
举个例子:
docker run -d -p 8080:80 nginx
这条命令的意思是:运行一个 Nginx 容器(nginx
),以后台方式运行(-d
),并把主机的 8080
端口映射到容器内部的 80
端口上。
Docker 命令怎么分类?
为了更高效地掌握 Docker 命令,我们可以把它们按照“功能”划分成 6 大类,每一类都专门处理容器生命周期中的一个环节:
-
镜像管理相关(Image lifecycle)
-
容器管理相关(Container lifecycle)
-
容器内部交互(Interacting with containers)
-
网络配置相关(Docker Network)
-
数据持久化相关(Docker Volume)
-
多容器管理相关(Docker Compose)
这种分类方法可以帮你从整体上理解命令的角色和用途,之后在实战中查找也会更高效。
核心命令总览(Key Docker Commands Overview)
我们先来快速预览一下最常用的 Docker 命令,让你对整体有个清晰认知。后面章节我们会一条条详细拆解,用示例和图解帮你真正掌握它们。
🧱 镜像生命周期相关命令(Docker Image Lifecycle)
Docker 镜像是容器的“模板”或“蓝图”,应用和它的依赖都打包在镜像里。
常用命令包括:
-
docker image ls
:列出本地所有镜像 -
docker pull
:从 Docker Hub 拉取镜像 -
docker build
:通过 Dockerfile 构建自己的镜像 -
docker image prune
:清理没在用的旧镜像 -
docker rmi
:删除指定镜像 -
docker tag
:给镜像打个新名字(打版本号) -
docker push
:把镜像上传到 Docker Hub -
docker login
/docker logout
:登录/登出 Docker 仓库账号
🚀 容器生命周期相关命令(Docker Container Lifecycle)
容器是镜像运行起来之后的“活体”,是你的程序真正运作的地方。
常用命令包括:
-
docker create
:新建容器但不启动 -
docker run
:新建并启动容器(最常用) -
docker start
/docker stop
:启动/停止已有容器 -
docker restart
:重启容器 -
docker pause
/docker unpause
:暂停/恢复容器运行 -
docker ps
:查看当前运行中的容器 -
docker rm
/docker kill
:删除容器 / 强制杀掉 -
docker inspect
:查看容器详细信息(配置、环境变量等) -
docker commit
:把容器当前状态保存成一个新镜像 -
docker rename
:给容器换个名字 -
docker container prune
:一键清理掉所有已停止的容器
🧩 与容器内部交互的命令
很多时候你需要“进到容器里”操作,查看日志、跑命令或调试问题。
常用命令包括:
-
docker exec
:在运行中的容器里执行命令(比如bash
) -
docker attach
:连接到容器的终端输出 -
docker logs
:查看容器日志 -
docker top
:查看容器中正在运行的进程 -
docker cp
:文件在宿主机与容器之间拷贝 -
docker diff
:看容器文件系统和原始镜像的差异
🌐 网络相关命令(Docker Network)
容器之间如何“对话”?容器如何暴露端口给外部访问?这都归网络设置管。
常用命令包括:
-
docker network create
:创建自定义网络 -
docker network ls
:列出所有网络 -
docker network connect
/disconnect
:给容器连上/断开网络 -
docker network inspect
:查看网络详情(IP 范围、已连接容器等) -
docker port
:查看容器端口映射 -
docker network prune
:删除所有没用的网络
💾 存储卷相关命令(Docker Volume)
数据要持久化,容器删了也不想数据跟着没了?就要用到 volume(数据卷)。
常用命令包括:
-
docker volume create
:创建新数据卷 -
docker volume inspect
:查看卷的详细信息 -
docker volume rm
:删除数据卷 -
docker volume prune
:一键清理没用的卷
🧰 多容器管理命令(Docker Compose)
一个应用常常需要多个容器协同运行。比如 Web + 后端 + 数据库。
Docker Compose 就是“一站式组合工具”。
常用命令包括:
-
docker-compose up
:启动整个多容器应用 -
docker-compose build
:根据配置文件构建所有服务 -
docker-compose ps
:查看当前运行的服务 -
docker-compose logs
:查看所有服务的日志 -
docker-compose stop
/start
/restart
:管理服务状态 -
docker-compose rm
:删除服务容器 -
docker-compose run
:临时运行一个服务命令(测试用) -
docker-compose ls
:列出所有项目
FAQ:Docker 命令常见问题解答
Q:Docker CLI 是什么?
A:它是你和 Docker 打交道的主战场——一个命令行工具,可以用来控制镜像、容器、网络和存储。
Q:为什么说学 Linux 很关键?
A:Docker 本质是基于 Linux 技术的,很多操作要在终端里敲命令。所以掌握基本 Linux 知识能让你玩转 Docker 更得心应手。
Q:Docker 命令怎么分类?
A:共 6 类:镜像、容器、容器内部交互、网络、存储、Docker Compose 多容器管理。
Q:镜像和容器到底啥区别?
A:镜像是静态蓝图,容器是动态“活体”,真正运行程序的是容器。
Q:Docker Compose 的作用是啥?
A:它能让你用一个配置文件,一口气管理多个容器,适合复杂项目,一键部署,超高效率。