Docker 命令大全(按功能分类)

以下是 Docker 常用命令的完整列表,按功能分类整理

一、容器生命周期管理

# 创建并启动容器
docker run [选项] 镜像名 [命令] [参数]
docker run -d -p 8080:80 --name web nginx  # 后台运行nginx并映射端口
docker run -it --rm ubuntu bash  # 交互式运行ubuntu,退出后自动删除容器

# 选项说明:
-d, --detach           # 后台运行容器
-i, --interactive      # 保持标准输入打开
-t, --tty              # 分配伪终端
-p, --publish list     # 端口映射(主机:容器)
--name string          # 指定容器名称
-v, --volume list      # 挂载卷
-e, --env list         # 设置环境变量
--restart string       # 重启策略(always/on-failure)
--network string       # 指定网络
--rm                   # 退出时自动删除容器

# 启动/停止/重启容器
docker start 容器名/ID       # 启动已停止的容器
docker stop 容器名/ID        # 优雅停止容器(发送SIGTERM)
docker kill 容器名/ID        # 强制终止容器(发送SIGKILL)
docker restart 容器名/ID     # 重启容器

# 暂停/恢复容器
docker pause 容器名/ID       # 暂停容器所有进程
docker unpause 容器名/ID     # 恢复容器进程

# 删除容器
docker rm 容器名/ID          # 删除已停止的容器
docker rm -f 容器名/ID       # 强制删除运行中的容器
docker rm $(docker ps -aq)   # 删除所有容器(慎用)

二、容器查看与监控

# 查看容器列表
docker ps                 # 查看运行中的容器
docker ps -a              # 查看所有容器(包括已停止的)
docker ps -aq             # 仅显示容器ID
docker ps -l              # 查看最近创建的容器

# 查看容器详细信息
docker inspect 容器名/ID   # 查看容器完整配置信息
docker stats [容器名/ID]   # 实时监控容器资源使用(CPU、内存等)

# 查看容器日志
docker logs 容器名/ID      # 查看容器日志
docker logs -f 容器名/ID   # 实时跟踪日志输出
docker logs --tail 100 容器名/ID  # 查看最后100行日志

# 查看容器进程
docker top 容器名/ID       # 查看容器内运行的进程

三、容器操作

# 进入运行中的容器
docker exec -it 容器名/ID bash  # 交互式进入容器执行bash
docker exec 容器名/ID ls /      # 非交互式执行命令

# 从容器内复制文件到主机
docker cp 容器名/ID:容器路径 主机路径
docker cp mycontainer:/app/data.txt /tmp/

# 从主机复制文件到容器
docker cp 主机路径 容器名/ID:容器路径
docker cp /tmp/config.txt mycontainer:/etc/

# 导出/导入容器
docker export 容器名/ID > 容器.tar  # 导出容器为tar文件
cat 容器.tar | docker import - 新镜像名:标签  # 导入tar文件为镜像

四、镜像管理

# 查看本地镜像
docker images                 # 查看本地所有镜像
docker images -q              # 仅显示镜像ID
docker images --digests       # 显示镜像摘要

# 拉取/推送镜像
docker pull 镜像名[:标签]      # 从Docker Hub拉取镜像
docker pull nginx:alpine      # 拉取nginx的alpine版本
docker push 镜像名[:标签]      # 推送镜像到Docker Hub

# 构建镜像
docker build -t 镜像名[:标签] 路径  # 基于Dockerfile构建镜像
docker build -t myapp:v1 .         # 当前目录下的Dockerfile构建
docker build --no-cache -t myapp . # 不使用缓存构建

# 标记/删除镜像
docker tag 原镜像名:标签 新镜像名:标签  # 标记镜像用于推送
docker rmi 镜像名/ID                 # 删除本地镜像
docker rmi $(docker images -q)      # 删除所有本地镜像(慎用)

# 查看镜像历史
docker history 镜像名[:标签]         # 查看镜像构建历史

五、网络管理

# 查看网络列表
docker network ls                   # 查看所有网络

# 创建/删除网络
docker network create --driver bridge mynet  # 创建桥接网络
docker network rm mynet                     # 删除网络

# 查看网络详情
docker network inspect mynet                # 查看网络配置

# 连接/断开容器与网络
docker network connect mynet 容器名/ID      # 连接容器到网络
docker network disconnect mynet 容器名/ID   # 断开容器与网络的连接

六、卷管理

# 查看卷列表
docker volume ls                  # 查看所有卷

# 创建/删除卷
docker volume create myvolume     # 创建卷
docker volume rm myvolume         # 删除卷

# 查看卷详情
docker volume inspect myvolume    # 查看卷配置

# 清理无用卷
docker volume prune               # 删除所有未使用的卷

七、系统信息

docker info                       # 显示Docker系统信息
docker version                    # 显示Docker版本信息
docker system df                  # 显示磁盘使用情况(镜像、容器、卷)
docker system prune               # 清理无用的镜像、容器、网络和卷

八、Docker Compose 命令

# 注意:Compose需单独安装,版本v2+命令格式为docker compose
docker compose up -d              # 后台启动所有服务
docker compose down               # 停止并删除所有服务
docker compose ps                 # 查看服务状态
docker compose logs -f            # 跟踪服务日志
docker compose build              # 构建服务镜像
docker compose restart            # 重启服务

九、高级命令

# 保存/加载镜像
docker save 镜像名[:标签] > 镜像.tar  # 保存镜像为tar文件
docker load < 镜像.tar               # 从tar文件加载镜像

# 查看容器变更
docker diff 容器名/ID                # 查看容器文件系统变更

# 更新容器配置
docker update --memory 512m 容器名/ID  # 更新容器内存限制

# 登录/登出Docker Hub
docker login                        # 登录Docker Hub
docker logout                       # 登出Docker Hub

十、常用快捷键与技巧

# 退出交互式容器但不终止
Ctrl + P + Q                        # 退出容器但保持运行

# 快速停止所有容器
docker stop $(docker ps -aq)        # 停止所有运行中的容器

# 查看容器IP
docker inspect --format '{{ .NetworkSettings.IPAddress }}' 容器名/ID

# 进入正在运行的容器的PID命名空间
docker exec -it --pid=container:容器名/ID nsenter --mount --uts --ipc --net --pid /bin/bash

使用建议

  1. 善用 --help 选项:如 docker run --help 查看详细参数
  2. 使用标签管理镜像:建议为镜像添加版本标签(如 myapp:v1.0)
  3. 定期清理资源:使用 docker system prune 清理无用镜像和容器
  4. 配置镜像加速:国内用户可配置阿里云、网易云等镜像加速器提高下载速度
  5. 使用Dockerfile最佳实践:减少镜像层数、合理使用缓存、最小化镜像大小

以上命令覆盖了Docker日常使用的各个方面,可根据实际需求复制使用。部分命令可能需要管理员权限(如使用 sudo)。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐