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