🐳 Docker 命令大全
🚀 容器生命周期管理
控制容器的创建、启动、停止、删除等基本操作。
-
run- 创建并启动一个新的容器。docker run -d --name mynginx nginx:latest启动一个后台运行的 Nginx 容器,命名为
mynginx -
start/stop/restart- 启动、停止或重启已存在的容器。docker start mynginx docker stop mynginx docker restart mynginx -
kill- 立即终止一个或多个正在运行的容器(强制关闭)。docker kill mynginx -
rm- 删除一个或多个已停止的容器。docker rm mynginx -
pause/unpause- 暂停或恢复容器内所有进程。docker pause mynginx docker unpause mynginx -
create- 创建一个新容器,但不启动它。docker create --name myredis redis:7.0 -
exec- 在运行中的容器内执行一条新命令。docker exec -it mynginx bash进入容器内部交互式 shell
-
rename- 重命名容器。docker rename mynginx nginx-prod
📊 容器操作
查看、监控、调试容器状态与日志。
-
ps- 列出当前运行中的 Docker 容器。docker ps docker ps -a # 显示所有容器(包括已停止) -
inspect- 获取容器、镜像、网络等详细信息。docker inspect mynginx docker inspect -f '{{.NetworkSettings.IPAddress}}' mynginx -
top- 显示指定容器中正在运行的进程。docker top mynginx -
attach- 附加到正在运行的容器并与其交互。docker attach mynginx按
Ctrl+P Ctrl+Q可脱离容器(不停止) -
events- 获取 Docker 守护进程生成的事件。docker events -
logs- 获取并查看容器的日志输出。docker logs mynginx docker logs -f mynginx # 实时跟踪日志 -
wait- 等待容器停止并返回退出码。docker wait mynginx -
export- 将容器文件系统导出为 tar 归档文件。docker export mynginx > mynginx.tar -
port- 显示容器的端口映射信息。docker port mynginx -
stats- 实时显示容器资源使用情况(CPU、内存等)。docker stats mynginx docker stats --no-stream # 只显示一次 -
update- 更新容器的资源限制(如内存、CPU)。docker update --memory="512m" --cpus="1.5" mynginx
🖼️ 镜像管理
管理本地镜像:拉取、构建、删除、查看等。
-
pull- 从仓库拉取镜像。docker pull ubuntu:22.04 -
build- 根据 Dockerfile 构建镜像。docker build -t myapp:v1 . -
images- 列出本地所有镜像。docker images docker images -q # 只显示镜像 ID -
rmi- 删除一个或多个本地镜像。docker rmi myapp:v1 docker rmi $(docker images -q) # 删除所有未使用的镜像 -
tag- 为镜像打标签(用于推送或版本管理)。docker tag myapp:v1 myregistry.com/myapp:v1 -
save/load- 将镜像保存为 tar 文件 / 从 tar 加载镜像。docker save -o myapp.tar myapp:v1 docker load -i myapp.tar -
history- 查看镜像构建历史。docker history ubuntu:22.04
🌐 网络管理
管理 Docker 网络:创建、连接、查看等。
-
network ls- 列出所有 Docker 网络。docker network ls -
network create- 创建自定义网络。docker network create mynet -
network connect/disconnect- 将容器连接/断开网络。docker network connect mynet mynginx docker network disconnect mynet mynginx -
network inspect- 查看网络详细信息。docker network inspect mynet -
network rm- 删除一个或多个网络。docker network rm mynet
🗃️ 卷管理(Volume)
管理数据卷:持久化容器数据。
-
volume ls- 列出所有数据卷。docker volume ls -
volume create- 创建一个新卷。docker volume create mydata -
volume inspect- 查看卷详细信息。docker volume inspect mydata -
volume rm- 删除一个卷。docker volume rm mydata -
volume prune- 删除所有未使用的卷。docker volume prune
🧩 高级命令 & 工具
用于调试、清理、优化等。
-
system df- 查看 Docker 磁盘使用情况。docker system df -
system prune- 清理未使用的容器、镜像、网络、卷。docker system prune -a # 删除所有未使用的资源(含镜像) -
compose up/down- 使用 docker-compose 启动/停止服务。docker compose up -d docker compose down -
login/logout- 登录/登出 Docker 仓库。docker login hub.docker.com docker logout -
push- 推送镜像到远程仓库。docker push myregistry.com/myapp:v1
📝 附录:常用组合命令
| 目的 | 命令 |
|---|---|
| 一键清理所有无用资源 | docker system prune -a --volumes |
| 查看所有容器 IP | docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress}}' $(docker ps -aq) |
| 批量删除所有容器 | docker rm $(docker ps -aq) |
| 批量删除所有镜像 | docker rmi $(docker images -q) |
| 查看容器占用磁盘大小 | docker system df |