附录A:常用 Docker 命令速查表
这份速查表汇总了本书中介绍过的以及其他一些常用的 Docker 和 Docker Compose 命令,希望能成为你日常工作中的得力助手。
镜像管理 (Image Management)
-
列出本地所有镜像
bashdocker images -
构建镜像
bash# 从当前目录的 Dockerfile 构建,并打上标签 docker build -t <image_name>:<tag> . -
从仓库拉取镜像
bashdocker pull <image_name>:<tag> -
将镜像推送到仓库
bash# 需要先 docker login docker push <username>/<image_name>:<tag> -
删除一个或多个本地镜像
bashdocker rmi <image_id_or_name> -
清理无用的镜像
bash# 清理所有未被使用的镜像 docker image prune # 强制清理所有未被使用的镜像(包括被标记的) docker image prune -a -
查看镜像的详细信息
bashdocker inspect <image_id_or_name> -
查看镜像的构建历史(图层)
bashdocker 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> -
列出正在运行的容器
bashdocker ps -
列出所有容器(包括已停止的)
bashdocker ps -a # 查看最新创建的容器 docker ps -n <数量> # 只显示容器ID docker ps -q -
停止一个容器
bashdocker stop <container_id_or_name> -
启动一个已停止的容器
bashdocker start <container_id_or_name> -
重启一个容器
bashdocker restart <container_id_or_name> -
删除一个已停止的容器
bashdocker rm <container_id_or_name> -
强制删除一个正在运行的容器
bashdocker rm -f <container_id_or_name> -
清理无用的容器
bash# 清理所有已停止的容器 docker container prune
容器交互与监控 (Container Interaction & Monitoring)
-
查看容器的日志
bashdocker 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 -
查看容器的详细信息
bashdocker 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> -
查看容器中运行的进程
bashdocker top <container_id_or_name>
数据卷和网络 (Volumes & Networking)
-
列出所有数据卷
bashdocker volume ls -
创建一个数据卷
bashdocker volume create <volume_name> -
删除一个数据卷
bashdocker volume rm <volume_name> -
清理无用的数据卷
bashdocker volume prune -
列出所有网络
bashdocker network ls -
创建一个网络
bashdocker network create <network_name> -
删除一个网络
bashdocker network rm <network_name> -
将容器连接到网络
bashdocker network connect <network_name> <container_id_or_name> # 指定容器在网络中的别名 docker network connect --alias <alias_name> <network_name> <container_id_or_name> -
将容器从网络中断开
bashdocker 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 -
停止并删除所有服务
bashdocker compose down # 同时删除数据卷 docker compose down --volumes -
列出所有服务状态
bashdocker compose ps -
查看服务日志
bash# 查看所有服务日志 docker compose logs # 跟踪特定服务的日志 docker compose logs -f <service_name> -
在特定服务中执行命令
bashdocker compose exec <service_name> <command> -
构建或重新构建服务
bashdocker 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 可以退出持续监控模式。