常用 Docker 命令大全
这份速查表汇总了本书中介绍过的以及其他一些常用的 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 可以退出持续监控模式。
更多推荐

所有评论(0)