Docker 命令

Docker 常用命令速查,容器/镜像/网络/卷管理,一键复制

共 59 个脚本

安全run交互

运行交互式容器

运行一个 Ubuntu 容器并进入交互式终端。--rm 表示退出后自动删除容器,-i 保持标准输入开启,-t 分配伪终端。

安全run后台

后台运行容器

以后台模式运行一个 Nginx 容器,-d 后台运行,-p 把宿主机 8080 映射到容器 80 端口,--name 给容器命名便于引用。

安全runvolume

运行带数据卷和环境变量的容器

运行容器并挂载宿主机目录、设置环境变量、限制重启策略。-v 挂载卷,-e 设置环境变量,--restart=unless-stopped 异常退出自动重启。

安全ps查看

列出容器

docker ps 默认只列出运行中的容器。-a 列出所有(包括已停止),-q 仅输出容器 ID 方便脚本拼接。

安全startstop

启动 / 停止 / 重启容器

对已存在的容器执行启动、停止、重启。可以用容器名或容器 ID。

注意rm删除

删除容器

删除已停止的容器。-f 强制删除运行中的容器(会先停止再删除)。组合命令可批量删除所有已停止容器。

注意rm批量

批量删除所有已停止容器

一次性删除所有处于退出状态的容器。docker ps -aq -f status=exited 列出所有已停止容器 ID。

安全exec进入容器

进入运行中的容器

在正在运行的容器中执行命令。最常用于进入容器排查问题:进入 my-nginx 容器并打开 bash。

安全logs日志

查看容器日志

查看容器输出日志。-f 实时跟踪(类似 tail -f),--tail 100 只看最后 100 行,--since 30m 只看最近 30 分钟。

安全top进程

查看容器内进程

查看指定容器内正在运行的进程列表,类似在宿主机上执行 top/ps。

安全stats监控

实时监控容器资源占用

实时显示所有运行容器的 CPU、内存、网络、磁盘 IO 占用,类似 Linux 的 top 命令。

安全inspect详情

查看容器详细信息

以 JSON 格式输出容器的完整配置(网络、挂载、环境变量、启动命令等)。常配合 grep/jq 提取需要的信息。

安全cp拷贝

容器与宿主机之间拷贝文件

docker cp 可在容器和宿主机之间双向拷贝文件,无需进入容器。

安全rename改名

重命名容器

给已存在的容器改名,不影响容器运行状态。

安全port端口

查看容器端口映射

查看容器对外暴露的端口及宿主机映射关系。

注意attach调试

附加到容器主进程

连接到容器的主进程(PID 1)的标准输入输出。注意:Ctrl+C 会同时终止容器。如需安全退出用 Ctrl+P, Ctrl+Q。

注意commit保存

把容器提交为新镜像

将容器的当前状态保存为新的镜像。适合临时保存调试结果,正式生产请用 Dockerfile。

安全images查看

列出本地镜像

列出本地所有镜像。-a 包含中间层镜像,--digests 显示镜像摘要。

安全pull拉取

拉取远程镜像

从 Docker Hub 拉取镜像。可指定 tag(版本),不指定默认 latest。

注意push推送

推送镜像到仓库

把本地镜像推送到镜像仓库(Docker Hub 或私有仓库)。推送前需先登录并用正确的 tag 命名。

安全build构建

构建镜像

根据 Dockerfile 构建镜像。-t 指定名称和 tag,末尾的 . 表示构建上下文为当前目录。

安全buildarg

构建时传入构建参数

通过 --build-arg 向 Dockerfile 中的 ARG 传值,用于多环境构建。

安全tag标签

给镜像打标签

为一个已有镜像创建新的引用(同一份镜像,多个名字)。常用于给镜像打版本号或仓库前缀。

注意rmi删除

删除镜像

删除本地镜像。被容器引用的镜像无法直接删除,需先删除相关容器。-f 可强制删除。

安全history历史

查看镜像构建历史

查看镜像每一层的构建指令和大小,便于优化 Dockerfile、定位镜像为何这么大。

安全saveload

导出 / 导入镜像为文件

save 把镜像打包成 tar 文件,load 从 tar 文件恢复镜像。适合内网无仓库环境传递镜像。

安全search搜索

搜索 Docker Hub 镜像

在 Docker Hub 搜索公共镜像。--limit 限制返回数量,--filter stars=N 过滤星标数。

安全networkls

列出所有网络

查看 Docker 中所有网络。默认存在 bridge、host、none 三个内置网络。

安全networkcreate

创建自定义网络

创建一个自定义桥接网络。同一自定义网络中的容器可通过容器名互相解析访问。

注意networkrm

删除网络

删除未使用的网络。被容器引用的网络无法删除。

安全networkinspect

查看网络详情

查看网络的配置和接入该网络的所有容器(含 IP、MAC)。

安全networkconnect

把容器加入网络

connect 将运行中的容器接入另一个网络,disconnect 从网络断开。一个容器可同时接入多个网络。

安全volumels

列出所有数据卷

查看 Docker 中所有命名数据卷。匿名卷也会列出。

安全volumecreate

创建命名数据卷

创建一个命名卷用于持久化容器数据,Docker 会管理其存储位置。

高危volumerm

删除数据卷

删除未被容器引用的数据卷。注意:删除卷会永久丢失其中数据。

安全volumeinspect

查看数据卷详情

查看数据卷的元信息,最关键的是 Mountpoint(在宿主机上的实际路径)。

高危volumeprune

清理未使用的数据卷

一次性删除所有未被任何容器引用的数据卷,释放磁盘空间。会永久删除其中的数据。

安全Dockerfilenode

Node 应用 Dockerfile 基础模板

一个典型的 Node.js 应用 Dockerfile,使用 alpine 基础镜像,安装依赖、拷贝源码、暴露端口、启动应用。

安全Dockerfile多阶段

多阶段构建(减小镜像体积)

多阶段构建:第一阶段编译产物,第二阶段只拷贝产物到精简运行镜像,大幅减小最终镜像体积。常用于 Go / 前端打包。

安全DockerfileENTRYPOINT

ENTRYPOINT 与 CMD 配合

ENTRYPOINT 固定主程序,CMD 提供可被覆盖的默认参数。这样运行时既能直接启动,也能追加自定义参数。

安全DockerfileHEALTHCHECK

配置容器健康检查

HEALTHCHECK 让 Docker 周期性检查容器健康状态。--interval 检查间隔,--timeout 超时,--retries 连续失败次数后标记 unhealthy。

安全Dockerfiledockerignore

.dockerignore 减小构建上下文

在项目根目录创建 .dockerignore,避免把 node_modules、日志、.git 等无关文件发送给 Docker daemon,加速构建、避免缓存失效。

安全DockerfileUSER

以非 root 用户运行(安全)

默认容器以 root 运行存在安全隐患。创建专用用户并以该用户运行应用,是生产镜像的安全最佳实践。

安全composeup

启动 Compose 服务

根据 docker-compose.yml 启动所有服务。-d 后台运行,--build 强制重新构建镜像。

高危composedown

停止并删除 Compose 服务

停止并删除容器、网络。默认不删数据卷;-v 一并删除数据卷(谨慎),--rmi all 同时删除镜像。

安全composelogs

查看 Compose 服务日志

查看所有或指定服务的日志。-f 实时跟踪,--tail 限制行数。

安全composeexec

在 Compose 服务中执行命令

在指定的 compose 服务容器中执行命令,等价于 docker exec,但用服务名而非容器名。

安全composeps

查看 Compose 服务状态

列出当前 compose 项目下所有服务容器的运行状态、端口映射。

安全composebuild

构建 Compose 服务镜像

只构建镜像不启动容器。--no-cache 禁用缓存强制重新构建每一层。

安全composeyaml

docker-compose.yml 典型示例

一个典型的 web + db 双服务 compose 文件:web 服务依赖 db,db 用命名卷持久化数据。

安全composerestart

重启指定 Compose 服务

只重启某个服务而不影响其他服务,常用于热更新配置后生效。

安全composerun

运行一次性任务

针对某个服务启动一个临时容器运行命令,运行完即退出。--rm 退出后自动删除。常用于迁移、测试、初始化。

安全systemdf

查看 Docker 磁盘占用

查看镜像、容器、数据卷、日志各自占用的磁盘空间,定位磁盘满的原因。-v 显示详细信息。

高危systemprune

一键清理无用资源

清理所有已停止容器、无用网络、悬空镜像(dangling)、构建缓存。-a 连带删除未被引用的镜像,--volumes 连带删除未使用的卷。

注意imageprune

清理悬空镜像

删除没有 tag 的悬空镜像(dangling,通常是重新构建后的旧层)。-a 删除所有未被容器使用的镜像。

注意containerprune

清理所有已停止容器

一次性删除所有处于退出状态的容器,不会影响运行中的容器。

注意builderprune

清理构建缓存

清理 BuildKit 构建缓存。长时间构建会产生大量缓存,定期清理可释放可观空间。

安全events事件

实时监听 Docker 事件

实时输出 Docker daemon 产生的所有事件(容器启动/停止、镜像拉取等),便于排查自动化问题。

安全versioninfo

查看 Docker 版本与信息

version 显示客户端/服务端版本,info 显示完整的 Docker daemon 配置和运行环境信息。