Docker 常用命令 大全

Docker 常用命令 大全

Docker 核心概念(精简版)

概念 核心定义
镜像(Image) 只读的文件系统模板,包含应用运行所需的代码、依赖、配置等,是容器的"静态蓝本"
容器(Container) 镜像的运行实例,轻量、可移植、隔离,共享主机内核,是镜像的"动态运行态"
镜像仓库 存储镜像的仓库,分公有(Docker Hub)和私有(Registry/Harbor)

一、Docker 守护进程管理(系统服务类)

命令 作用说明
systemctl start docker 启动 Docker 守护进程
systemctl stop docker 停止 Docker 守护进程
systemctl restart docker 重启 Docker 守护进程
systemctl status docker 查看 Docker 服务状态(是否运行、进程ID、日志等)
systemctl enable docker 设置 Docker 开机自启动
systemctl enable docker --now 立即启动 Docker + 设置开机自启动
systemctl daemon-reload && systemctl restart docker 修改 Docker 配置文件后,重载配置并重启(生效配置)

二、镜像操作命令(高频核心)

命令 作用说明 补充备注
docker images 列出本地已拉取的镜像 输出:仓库名+标签、镜像ID、创建时间、大小
docker search nginx --limit 10 检索镜像仓库中的指定镜像(限制输出数量) 默认检索 Docker Hub
docker pull nginx 拉取镜像(默认 latest 标签) 指定版本:docker pull ubuntu:20.04
docker rmi ubuntu:20.04 删除本地指定镜像 强制删除(容器占用时):docker rmi -f 镜像ID
docker push ubuntu24:mylable 将本地镜像推送到仓库(需先登录仓库) 推送前需打仓库前缀标签:docker tag 镜像名 仓库地址/镜像名:标签
docker tag ubuntu:20.04 ubuntu:newtag 修改镜像标签(重命名) 跨仓库打标签:docker tag nginx hub.c.163.com/my/nginx:v1
docker save -o local_ubuntu20.04.tar ubuntu:20.04 导出镜像为 tar 包(备份/迁移) -o:指定输出文件路径
docker load -i local_ubuntu20.04.tar 从 tar 包导入镜像(恢复/迁移) -i:指定输入文件路径
docker system df 查看镜像/容器/卷的磁盘占用情况 类似 Linux df -h
docker build -t ubuntu24.04:ubuntu-base . 基于 Dockerfile 构建镜像 -t:指定镜像标签;.:Dockerfile 所在目录
docker history 镜像名/ID 查看镜像的构建历史(每一层的操作) 排查镜像构建问题常用
docker inspect 镜像名/ID 查看镜像的详细元数据(配置、层信息、环境变量等) 返回 JSON 格式,可结合 jq 过滤:`docker inspect nginx
示例 Dockerfile(基础 Ubuntu 镜像)
dockerfile 复制代码
FROM ubuntu:24.04
RUN apt-get update && apt-get -y install wget net-tools \
    && apt-get clean && rm -rf /var/lib/apt/lists/*  # 清理缓存,减小镜像体积

三、容器操作命令(最常用)

命令 作用说明 核心参数解释
docker run -tid -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name local-registry registry:2 创建并启动容器 -t:分配伪终端;-i:交互模式;-d:后台运行 -v:挂载数据卷/目录 -p:端口映射(宿主:容器) --name:容器名称 --restart=always:Docker 重启后容器自动重启
docker ps 查看正在运行的容器 -a:查看所有容器(包括停止的);-q:只输出容器ID
docker exec -it 容器ID/名称 /bin/bash 进入运行中的容器(交互模式) /bin/bash:指定容器内的 shell;退出容器:exit(不终止容器)
docker start/stop/restart 容器ID/名称 启动/停止/重启容器 批量操作:docker start $(docker ps -aq)(启动所有容器)
docker kill 容器ID/名称 强制终止容器(发送 SIGKILL 信号) 区别于 stop(优雅终止 SIGTERM)
docker rm 容器ID/名称 删除已停止的容器 强制删除运行中的容器:docker rm -f 容器ID;批量删除:docker rm $(docker ps -aq)
docker logs 容器ID/名称 查看容器日志 -f:实时跟踪日志;--tail 100:查看最后100行;--since:指定时间范围
docker inspect 容器ID/名称 查看容器详细信息(网络、挂载、环境变量等) 排查容器启动失败、挂载异常常用
docker cp 宿主路径 容器ID:容器路径 从主机拷贝文件到容器 示例:docker cp /tmp/test.txt nginx:/tmp/
docker cp 容器ID:容器路径 宿主路径 从容器拷贝文件到主机 示例:docker cp nginx:/tmp/test.txt /tmp/
docker export -o 容器备份.tar 容器ID 导出容器为 tar 包(备份容器文件系统) 仅导出文件系统,不含镜像元数据
docker import 容器备份.tar 新镜像名:标签 从容器 tar 包创建镜像 常用于基于容器修改后制作新镜像

四、数据卷操作命令(持久化存储)

命令 作用说明 补充备注
docker volume create 卷名 创建自定义数据卷(Docker 管理的持久化存储) 数据卷默认存储路径:/var/lib/docker/volumes/
docker volume ls 列出所有数据卷 -q:只输出卷ID
docker volume inspect 卷名 查看数据卷详细信息(存储路径、挂载容器等) 排查卷挂载问题常用
docker volume rm 卷名 删除指定数据卷 需先卸载卷(停止使用该卷的容器)
docker volume prune 清理未被使用的所有数据卷(释放磁盘空间) 执行前会确认,加 -f 强制清理

五、网络操作命令(容器网络)

命令 作用说明 补充备注
docker network ls 列出所有 Docker 网络(默认:bridge、host、none) -q:只输出网络ID
docker network create 网络名 创建自定义桥接网络(容器间互通,隔离宿主机网络) 指定网段:docker network create --subnet=172.20.0.0/16 mynet
docker network inspect 网络名 查看网络详细信息(子网、网关、关联容器等) 排查容器网络互通问题常用
docker network connect 网络名 容器ID/名称 将容器连接到指定网络 一个容器可连接多个网络
docker network disconnect 网络名 容器ID/名称 将容器从指定网络断开 断开后容器无法通过该网络通信
docker network rm 网络名 删除指定网络 需先断开所有关联容器

六、Docker Compose 命令(多容器编排)

命令 作用说明 补充备注
docker-compose up -d 基于 docker-compose.yml 启动所有容器(后台运行) -f:指定自定义配置文件:docker-compose -f my-compose.yml up -d
docker-compose down 停止并删除所有容器、网络(保留卷和镜像) -v:同时删除数据卷;--rmi all:删除构建的镜像
docker-compose build 构建/重新构建 compose 配置中的镜像 --no-cache:不使用缓存构建(强制更新依赖)
docker-compose logs -f 实时查看所有 compose 容器的日志 指定服务:docker-compose logs -f nginx
docker-compose restart 服务名 重启指定 compose 服务 不指定服务名则重启所有服务

七、其他高频命令(运维排查)

命令 作用说明 补充备注
docker info 查看 Docker 系统信息(版本、驱动、镜像数、容器数等) 排查 Docker 环境问题常用
docker --help 查看 Docker 全局帮助文档 子命令帮助:docker run --help
docker stats 实时查看容器的资源使用率(CPU、内存、网络IO、磁盘IO) -a:查看所有容器;--no-stream:只输出一次
docker system prune 清理无用的容器、镜像、网络、卷(释放磁盘空间) -a:清理所有未使用的镜像(包括未被引用的);-f:强制清理
docker login 登录镜像仓库(Docker Hub/私有仓库) 登录私有仓库:docker login 仓库地址
docker logout 退出已登录的镜像仓库

总结

  1. 核心分类:按「守护进程、镜像、容器、数据卷、网络、Compose、运维排查」7类整理,符合日常使用习惯;
  2. 关键补充:修正了笔误(如"查询当前已创建的juan"→"数据卷")、补充参数解释和使用场景,便于新手理解;
  3. 实用技巧 :标注了批量操作、强制操作、排查问题的常用参数(如 -f/-q/--no-cache),提升运维效率。

这份整理后的命令清单可直接作为速查表,覆盖开发/运维日常 90% 以上的 Docker 操作场景。

相关推荐
爱丶狸2 小时前
Docker帮助中的英译汉
docker
C_心欲无痕11 小时前
Dockerfile:构建 Docker 镜像
运维·docker·容器
C_心欲无痕13 小时前
Docker 本地部署 CSR 前端项目完整指南
前端·docker·容器
飞翔沫沫情15 小时前
MinIO 新版本 Docker 部署指南:告别 Web 控制台,拥抱 CLI 管理
docker·容器·docker-compose·对象存储·minio
令狐少侠201116 小时前
docker基本操作 部署启动nginx
nginx·docker·容器
攀小黑16 小时前
docker 部署rabbitmq消息队列并安装延迟队列插件
docker·容器·rabbitmq
虚神界熊孩儿17 小时前
Linux下修改docker和harbor默认网段的方法
linux·docker·harbor
木叶子---18 小时前
Docker
运维·docker·容器
Cyber4K18 小时前
【Kubernetes专项】K8s集群1.31版本安装手册
linux·docker·云原生·容器·kubernetes