Docker 常用命令大全
一、镜像(Image)管理
镜像就像是软件的安装包或模板。
命令 | 描述 | 示例 |
---|---|---|
docker images docker image ls |
列出本地所有镜像 | docker images |
docker search <名称> |
从仓库搜索镜像 | docker search nginx |
docker pull <镜像名>:<标签> |
下载镜像 (不指定标签则默认为 latest ) |
docker pull nginx:alpine |
docker rmi <镜像ID或名> |
删除本地镜像 | docker rmi nginx |
docker image prune |
清理未被使用的镜像(悬空镜像) | docker image prune |
docker build -t <标签> . |
根据 Dockerfile 构建镜像 (. 代表当前目录) |
docker build -t my-app:1.0 . |
二、容器(Container)管理
容器是从镜像运行起来的实例。
命令 | 描述 | 示例 |
---|---|---|
docker run [选项] <镜像> |
创建并启动一个新容器 | docker run -d -p 80:80 nginx |
docker start <容器名/ID> |
启动一个已停止的容器 | docker start my_nginx |
docker stop <容器名/ID> |
停止一个运行中的容器(优雅停止) | docker stop my_nginx |
docker restart <容器名/ID> |
重启容器 | docker restart my_nginx |
docker rm <容器名/ID> |
删除一个已停止的容器 | docker rm my_nginx |
docker container prune |
删除所有已停止的容器 | docker container prune |
docker ps |
列出正在运行的容器 | docker ps |
docker ps -a |
列出所有容器(包括已停止的) | docker ps -a |
docker logs <容器名/ID> |
查看容器的日志输出 | docker logs my_nginx |
docker logs -f <容器名/ID> |
实时跟踪(跟随)日志输出 | docker logs -f my_nginx |
docker exec -it <容器名/ID> <命令> |
在运行中的容器内执行命令 | docker exec -it my_nginx /bin/bash |
三、网络(Network)管理
命令 | 描述 | 示例 |
---|---|---|
docker network ls |
列出所有网络 | docker network ls |
docker network create <网络名> |
创建一个新网络 | docker network create my_net |
docker network inspect <网络名> |
查看网络详细信息 | docker network inspect bridge |
四、数据卷(Volume)管理
数据卷用于持久化存储数据。
命令 | 描述 | 示例 |
---|---|---|
docker volume ls |
列出所有数据卷 | docker volume ls |
docker volume create <卷名> |
创建一个数据卷 | docker volume create my_data |
docker volume rm <卷名> |
删除一个数据卷 | docker volume rm my_data |
docker volume prune |
清理未被使用的数据卷 | docker volume prune |
五、系统与信息
命令 | 描述 | 示例 |
---|---|---|
docker info |
显示 Docker 系统信息 | docker info |
docker version |
显示 Docker 版本信息 | docker version |
docker stats |
实时显示容器资源使用统计 | docker stats |
docker system df |
查看 Docker 磁盘使用情况 | docker system df |
六、Docker Compose 常用命令
用于管理多容器应用。
命令 | 描述 | 示例 |
---|---|---|
docker compose up |
创建并启动所有服务 | docker compose up |
docker compose up -d |
在后台创建并启动所有服务 | docker compose up -d |
docker compose down |
停止并删除所有容器、网络 | docker compose down |
docker compose ps |
列出本项目下的所有容器 | docker compose ps |
docker compose logs |
查看所有服务的日志 | docker compose logs |
docker compose logs -f <服务名> |
实时跟踪特定服务的日志 | docker compose logs -f web |
docker compose exec <服务名> <命令> |
在指定服务的容器中执行命令 | docker compose exec db mysql -u root -p |
命令中的常用选项(Flags)释义
选项 | 全称 | 含义 | 示例 |
---|---|---|---|
-d |
--detach |
后台运行容器 | docker run -d nginx |
-it |
-i -t |
交互式运行 (分配伪终端,通常与 /bin/bash 连用) |
docker run -it ubuntu /bin/bash |
-p |
--publish |
端口映射(主机端口:容器端口) | docker run -p 8080:80 nginx |
-v |
--volume |
挂载数据卷或目录 | docker run -v /host/data:/container/data nginx |
-e |
--env |
设置环境变量 | docker run -e MY_VAR=value nginx |
--name |
为容器指定一个名称 | docker run --name my_nginx nginx |
|
--rm |
容器退出时自动删除(常用于测试) | docker run --rm alpine echo "hello" |
🚀 最常用命令总结(快速上手)
- 看状态 :
docker ps
(看容器),docker images
(看镜像) - 拉镜像 :
docker pull <名字>
- 启容器 :
docker run -d -p ... --name ... <镜像名>
- 停容器 :
docker stop <名字>
- 进容器 :
docker exec -it <名字> /bin/bash
- 看日志 :
docker logs -f <名字>
- 删容器 :
docker rm <名字>
- 删镜像 :
docker rmi <名字>
建议: 将这份列表保存下来,作为日常操作的速查手册。