附录A:常用 Docker 命令速查表

附录A:常用 Docker 命令速查表

这份速查表汇总了本书中介绍过的以及其他一些常用的 Docker 和 Docker Compose 命令,希望能成为你日常工作中的得力助手。

镜像管理 (Image Management)

  • 列出本地所有镜像

    bash 复制代码
    docker images
  • 构建镜像

    bash 复制代码
    # 从当前目录的 Dockerfile 构建,并打上标签
    docker build -t <image_name>:<tag> .
  • 从仓库拉取镜像

    bash 复制代码
    docker pull <image_name>:<tag>
  • 将镜像推送到仓库

    bash 复制代码
    # 需要先 docker login
    docker push <username>/<image_name>:<tag>
  • 删除一个或多个本地镜像

    bash 复制代码
    docker rmi <image_id_or_name>
  • 清理无用的镜像

    bash 复制代码
    # 清理所有未被使用的镜像
    docker image prune
    
    # 强制清理所有未被使用的镜像(包括被标记的)
    docker image prune -a
  • 查看镜像的详细信息

    bash 复制代码
    docker inspect <image_id_or_name>
  • 查看镜像的构建历史(图层)

    bash 复制代码
    docker history <image_id_or_name>

容器生命周期 (Container Lifecycle)

  • 运行一个容器

    bash 复制代码
    # 基本运行
    docker run <image_name>
    
    # 后台运行、端口映射、并命名
    docker run -d -p <host_port>:<container_port> --name <container_name> <image_name>
  • 列出正在运行的容器

    bash 复制代码
    docker ps
  • 列出所有容器(包括已停止的)

    bash 复制代码
    docker ps -a
    
    # 查看最新创建的容器
    docker ps -n <数量>
    
    # 只显示容器ID
    docker ps -q
  • 停止一个容器

    bash 复制代码
    docker stop <container_id_or_name>
  • 启动一个已停止的容器

    bash 复制代码
    docker start <container_id_or_name>
  • 重启一个容器

    bash 复制代码
    docker restart <container_id_or_name>
  • 删除一个已停止的容器

    bash 复制代码
    docker rm <container_id_or_name>
  • 强制删除一个正在运行的容器

    bash 复制代码
    docker rm -f <container_id_or_name>
  • 清理无用的容器

    bash 复制代码
    # 清理所有已停止的容器
    docker container prune

容器交互与监控 (Container Interaction & Monitoring)

  • 查看容器的日志

    bash 复制代码
    docker logs <container_id_or_name>
    
    # 实时跟踪日志
    docker logs -f <container_id_or_name>
  • 在运行的容器中执行命令

    bash 复制代码
    # 进入交互式 shell
    docker exec -it <container_id_or_name> /bin/sh
    
    # 执行单个命令
    docker exec <container_id_or_name> ls /
  • 查看容器的资源使用情况

    bash 复制代码
    # 查看所有运行中容器的实时资源使用(按 Ctrl+C 退出持续模式)
    docker stats
    
    # 查看指定容器的资源使用
    docker stats <container_id_or_name>
    
    # 只显示一次结果(不持续更新)
    docker stats --no-stream
  • 查看容器的详细信息

    bash 复制代码
    docker inspect <container_id_or_name>
  • 在容器和主机之间复制文件

    bash 复制代码
    # 从容器复制文件到主机
    docker cp <container_id_or_name>:<container_path> <host_path>
    
    # 从主机复制文件到容器
    docker cp <host_path> <container_id_or_name>:<container_path>
  • 查看容器中运行的进程

    bash 复制代码
    docker top <container_id_or_name>

数据卷和网络 (Volumes & Networking)

  • 列出所有数据卷

    bash 复制代码
    docker volume ls
  • 创建一个数据卷

    bash 复制代码
    docker volume create <volume_name>
  • 删除一个数据卷

    bash 复制代码
    docker volume rm <volume_name>
  • 清理无用的数据卷

    bash 复制代码
    docker volume prune
  • 列出所有网络

    bash 复制代码
    docker network ls
  • 创建一个网络

    bash 复制代码
    docker network create <network_name>
  • 删除一个网络

    bash 复制代码
    docker network rm <network_name>
  • 将容器连接到网络

    bash 复制代码
    docker network connect <network_name> <container_id_or_name>
    
    # 指定容器在网络中的别名
    docker network connect --alias <alias_name> <network_name> <container_id_or_name>
  • 将容器从网络中断开

    bash 复制代码
    docker network disconnect <network_name> <container_id_or_name>
    
    # 强制断开连接
    docker network disconnect -f <network_name> <container_id_or_name>

Docker Compose

  • 构建并启动所有服务

    bash 复制代码
    # 在前台运行
    docker compose up
    
    # 在后台运行
    docker compose up -d
    
    # 如果 Dockerfile 有变动,强制重新构建
    docker compose up --build
  • 停止并删除所有服务

    bash 复制代码
    docker compose down
    
    # 同时删除数据卷
    docker compose down --volumes
  • 列出所有服务状态

    bash 复制代码
    docker compose ps
  • 查看服务日志

    bash 复制代码
    # 查看所有服务日志
    docker compose logs
    
    # 跟踪特定服务的日志
    docker compose logs -f <service_name>
  • 在特定服务中执行命令

    bash 复制代码
    docker compose exec <service_name> <command>
  • 构建或重新构建服务

    bash 复制代码
    docker compose build

系统维护 (System Maintenance)

  • 系统级清理

    bash 复制代码
    # 清理所有未被使用的资源(镜像、容器、网络、数据卷)
    docker system prune
    
    # 强制清理所有未被使用的资源(包括被标记的镜像)
    docker system prune -a
    
    # 查看Docker系统使用情况
    docker system df
    
    # 查看详细的磁盘使用信息
    docker system df -v

持续监控说明

以下命令支持持续监控模式,可以实时刷新显示:

  • docker stats - 默认持续监控容器资源使用情况(按 Ctrl+C 退出)
  • docker logs -f - 持续跟踪容器日志输出
  • docker compose logs -f - 持续跟踪服务日志输出

注意docker stats 默认就是持续输出的,使用 --no-stream 可以只显示一次结果。

提示 :按 Ctrl+C 可以退出持续监控模式。

相关推荐
九皇叔叔5 小时前
Kubernetes 资源管理方式详解:命令式与声明式管理
docker·容器·k8s
春天花会开1319 小时前
Supabase 自部署 Edge Functions 超时从 60s 延长到 360s 完整复盘
运维·云原生
程序猿小郑11 小时前
Docker Compose 构建完整服务实战指南:从入门到最佳实践
docker·容器
行百里er14 小时前
5 分钟跑起 Redis(Docker 版)
redis·后端·docker
Mr.朱鹏15 小时前
Docker三剑客实战指南:Docker、Dockerfile 和 Docker Compose
python·docker·devops·dockerfile
鬼先生_sir15 小时前
Docker 完整教程
docker
java_logo16 小时前
Docker 一键部署 Jellyfin:快速搭建私有化媒体服务器
docker·私有化部署·jellyfin·硬件加速·媒体服务器·轩辕镜像·影音库
jianpeng的工程笔记17 小时前
WeKnora 搭建研发 EDA 知识库:Docker 部署、RAG 与 Wiki 实践
docker·知识库·eda·rag
ysu_031418 小时前
【2026】K8s GPU调度空占怎么解?Kueue与Volcano Gang配置
云原生·kubernetes·gpu算力·volcano·ai基础设施·kueue·gang scheduling
ZeroNews内网穿透18 小时前
内网部署 Halo 建站,用 ZeroNews 免费内网穿透安全发布到公网(无公网 IP 也能 HTTPS 访问)
docker·https·内网穿透·nas·反向代理·halo·zeronews