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

镜像管理 (Image Management)

列出本地所有镜像

docker images

构建镜像

从当前目录的 Dockerfile 构建,并打上标签

docker build -t <image_name>:<tag> .

从仓库拉取镜像

docker pull <image_name>:<tag>

将镜像推送到仓库

需要先 docker login
docker push <username>/<image_name>:<tag>

删除一个或多个本地镜像

docker rmi <image_id_or_name>

清理无用的镜像

#清理所有未被使用的镜像
docker image prune

#强制清理所有未被使用的镜像(包括被标记的)
docker image prune -a

查看镜像的详细信息

docker inspect <image_id_or_name>

查看镜像的构建历史(图层)

docker history <image_id_or_name>

容器生命周期 (Container Lifecycle)

运行一个容器

#基本运行
docker run <image_name>

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

docker ps
列出所有容器(包括已停止的)

docker ps -a

查看最新创建的容器

docker ps -n <数量>

只显示容器ID

docker ps -q
停止一个容器

docker stop <container_id_or_name>
启动一个已停止的容器

docker start <container_id_or_name>
重启一个容器

docker restart <container_id_or_name>
删除一个已停止的容器

docker rm <container_id_or_name>
强制删除一个正在运行的容器

docker rm -f <container_id_or_name>
清理无用的容器

清理所有已停止的容器

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

查看容器的日志

docker logs <container_id_or_name>

实时跟踪日志

docker logs -f <container_id_or_name>
在运行的容器中执行命令

进入交互式 shell

docker exec -it <container_id_or_name> /bin/sh

执行单个命令

docker exec <container_id_or_name> ls /
查看容器的资源使用情况

查看所有运行中容器的实时资源使用(按 Ctrl+C 退出持续模式)

docker stats

查看指定容器的资源使用

docker stats <container_id_or_name>

只显示一次结果(不持续更新)

docker stats --no-stream
查看容器的详细信息

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

从容器复制文件到主机

docker cp <container_id_or_name>:<container_path> <host_path>

从主机复制文件到容器

docker cp <host_path> <container_id_or_name>:<container_path>
查看容器中运行的进程

docker top <container_id_or_name>
数据卷和网络 (Volumes & Networking)
列出所有数据卷

docker volume ls
创建一个数据卷

docker volume create <volume_name>
删除一个数据卷

docker volume rm <volume_name>
清理无用的数据卷

docker volume prune
列出所有网络

docker network ls
创建一个网络

docker network create <network_name>
删除一个网络

docker network rm <network_name>
将容器连接到网络

docker network connect <network_name> <container_id_or_name>

指定容器在网络中的别名

docker network connect --alias <alias_name> <network_name> <container_id_or_name>
将容器从网络中断开

docker network disconnect <network_name> <container_id_or_name>

强制断开连接

docker network disconnect -f <network_name> <container_id_or_name>

Docker Compose
构建并启动所有服务

在前台运行

docker compose up

在后台运行

docker compose up -d

如果 Dockerfile 有变动,强制重新构建

docker compose up --build
停止并删除所有服务

docker compose down

同时删除数据卷

docker compose down --volumes
列出所有服务状态

docker compose ps
查看服务日志

查看所有服务日志

docker compose logs

跟踪特定服务的日志

docker compose logs -f <service_name>
在特定服务中执行命令

docker compose exec <service_name>
构建或重新构建服务

docker compose build
系统维护 (System Maintenance)
系统级清理

清理所有未被使用的资源(镜像、容器、网络、数据卷)

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

更多推荐