附录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 可以退出持续监控模式。

相关推荐
JavaPub-rodert9 分钟前
我又把自己的 Go 后台管理系统升级了一遍:文件管理、2GB 上传、私有文件预览、Docker 镜像全安排上了
开发语言·docker·golang·shiyuadmin
云烟成雨TD12 分钟前
Micrometer 系列【39】链路追踪:入门案例 | 环境准备
java·云原生·链路追踪
Zhu7581 小时前
在docker环境部署frp
运维·docker·容器
掉鱼的猫2 小时前
Solon AOT & Native:三段式编译,从 Java 到原生可执行文件
java·云原生
承渊政道4 小时前
飞牛NAS部署Immich:搭建家庭相册并实现远程访问
运维·服务器·docker·内网穿透·cpolar·nas·immich
x-cmd4 小时前
用 Rust 打造 AI 时代的 SQL:把重复任务变成可执行文件
数据库·人工智能·sql·ai·容器·rust·workflow
ruofu335 小时前
如何让docker使用提前下载好的镜像,而不是在线拉取
java·spring cloud·docker
童槿顏丶18 小时前
docker自动化部署脚本
docker·eureka·自动化
爱莉希雅&&&21 小时前
K8s NFS+StorageClass+PV/PVC+Deployment 实战笔记
笔记·容器·kubernetes
阿里云云原生21 小时前
2026云栖大会定档!
云原生