2.3 Docker命令

0 阅读6分钟

前置知识阅读建议

▶点击回顾 第 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 rundocker build,就是 CLI 提供的。

通过它,你可以操作镜像(images)、容器(containers)、网络(networks)、存储卷(volumes)等等,整个 Docker 的世界都能被你掌控。

Pasted image 20250514115133.png

Docker 命令的基本语法结构

Docker 命令遵循一种统一、易学的语法结构:

docker <命令> <选项> <参数>

举个例子:

docker run -d -p 8080:80 nginx

这条命令的意思是:运行一个 Nginx 容器(nginx),以后台方式运行-d),并把主机的 8080 端口映射到容器内部的 80 端口上。


Docker 命令怎么分类?

为了更高效地掌握 Docker 命令,我们可以把它们按照“功能”划分成 6 大类,每一类都专门处理容器生命周期中的一个环节:

  1. 镜像管理相关(Image lifecycle)

  2. 容器管理相关(Container lifecycle)

  3. 容器内部交互(Interacting with containers)

  4. 网络配置相关(Docker Network)

  5. 数据持久化相关(Docker Volume)

  6. 多容器管理相关(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:它能让你用一个配置文件,一口气管理多个容器,适合复杂项目,一键部署,超高效率。