docker常用命令
好的,没问题!这是一份为您精心整理的 Docker 常用命令大全,按照功能进行了分类,并附上了最常用的选项和示例。您可以把它当作一个速查手册。
一、 镜像管理 (Image Management)
镜像是创建容器的基础。
命令 | 描述 | 示例 |
---|---|---|
docker pull |
从 Docker Hub 或其他镜像仓库拉取一个镜像 | docker pull nginx:latest |
docker images |
列出本地已经下载的所有镜像 | docker images |
docker rmi |
删除一个或多个本地镜像 | docker rmi ubuntu:18.04 |
docker rmi -f |
强制删除一个镜像(即使有容器在使用它) | docker rmi -f my-image |
docker build |
从 Dockerfile 构建一个新镜像 | docker build -t my-app:1.0 . |
docker history |
查看镜像的构建历史(各层信息) | docker history nginx |
docker save |
将一个镜像保存成 tar 归档文件 | docker save -o nginx.tar nginx:latest |
docker load |
从 tar 归档文件加载一个镜像 | docker load -i nginx.tar |
二、 容器生命周期 (Container Lifecycle)
容器是镜像的运行实例。
命令 | 描述 | 示例 |
---|---|---|
docker run |
基于一个镜像创建并启动一个新容器 | docker run -d -p 8080:80 --name my-web nginx |
docker ps |
列出所有正在运行的容器 | docker ps |
docker ps -a |
列出所有的容器(包括已停止的) | docker ps -a |
docker stop |
优雅地停止一个正在运行的容器(发送 SIGTERM) | docker stop my-web |
docker kill |
强制停止一个正在运行的容器(发送 SIGKILL) | docker kill my-web |
docker start |
启动一个已经停止的容器 | docker start my-web |
docker restart |
重启一个容器 | docker restart my-web |
docker rm |
删除一个或多个已停止的容器 | docker rm my-web |
docker rm -f |
强制删除一个容器(即使它在运行中) | docker rm -f my-web |
docker run
的常用选项:
-d
(--detach
): 后台运行容器(守护式运行)。-p
(--publish
): 端口映射,格式为主机端口:容器端口
。-v
(--volume
): 数据卷挂载,格式为主机路径:容器路径
。--name
: 为容器指定一个易于记忆的名称。-it
(--interactive --tty
): 以交互模式进入容器的终端。--rm
: 容器退出时自动删除容器,适合临时任务。
三、 容器操作与监控 (Container Operations)
管理和查看正在运行的容器。
命令 | 描述 | 示例 |
---|---|---|
docker exec |
在一个正在运行的容器内部执行命令 | docker exec -it my-web /bin/bash |
docker logs |
查看容器的日志输出 | docker logs my-web |
docker logs -f |
实时跟踪查看容器的日志(类似 tail -f ) |
docker logs -f my-web |
docker inspect |
查看容器/镜像的底层详细信息(如 IP 地址) | docker inspect my-web |
docker stats |
实时显示容器的资源使用情况(CPU, 内存等) | docker stats |
docker cp |
在主机和容器之间复制文件或文件夹 | docker cp ./index.html my-web:/usr/share/nginx/html/ |
四、 系统清理 (System Cleanup)
清理不再使用的 Docker 资源,释放磁盘空间。
命令 | 描述 |
---|---|
docker system prune |
一键清理! 删除所有已停止的容器、悬空镜像、不用的网络和构建缓存。 |
docker system prune -a |
更彻底! 在prune 基础上,额外删除所有未被任何容器使用的镜像。 |
docker rm $(docker ps -a -q) |
手动清理: 删除所有容器(无论状态)。 |
docker rmi $(docker images -q) |
手动清理: 删除所有本地镜像(请谨慎!)。 |
⚠️ 警告: 清理命令是破坏性的,执行前请三思。
五、 Docker Compose (多容器应用)
用于定义和运行多容器 Docker 应用程序的工具。通常所有配置都在 docker-compose.yml
文件中。
命令 | 描述 |
---|---|
docker-compose up |
根据 docker-compose.yml 创建并启动所有服务(前台运行)。 |
docker-compose up -d |
在后台创建并启动所有服务。 |
docker-compose down |
停止并删除由 up 创建的容器、网络。 |
docker-compose down -v |
在 down 的基础上,同时删除定义的数据卷。 |
docker-compose ps |
列出 Compose 项目中的所有容器。 |
docker-compose logs |
查看所有服务的日志。 |
docker-compose logs -f |
实时跟踪所有服务的日志。 |
docker-compose build |
构建或重新构建项目中的服务镜像。 |
docker-compose exec |
进入某个正在运行的服务容器内部。docker-compose exec web /bin/bash |
希望这份清单能对您有所帮助!