✅ Docker 在开发中常用的命令汇总
🌟 1️⃣ 容器管理命令
这些命令用于运行、管理和查看容器的状态。
🔹 1.1 启动容器
docker run [选项] 镜像名[:标签] [命令]
📌 常用参数:
-d
:后台运行容器-p
:端口映射,格式为宿主机端口:容器端口
-v
:挂载数据卷,格式为宿主机目录:容器目录
--name
:自定义容器名称--rm
:容器停止后自动删除
✅ 示例:
# 以后台模式运行 nginx 容器,并映射端口
docker run -d --name my-nginx -p 8080:80 nginx:latest
🔹 1.2 查看正在运行的容器
docker ps
📌 参数:
-a
:查看所有容器,包括已停止的-q
:只显示容器 ID--filter
:按条件过滤容器
✅ 示例:
# 查看所有容器(包括已停止)
docker ps -a
# 查看占用 80 端口的容器
docker ps --filter "publish=80"
🔹 1.3 停止/启动/重启容器
docker stop <容器名或ID>
docker start <容器名或ID>
docker restart <容器名或ID>
✅ 示例:
# 停止容器
docker stop my-nginx
# 启动容器
docker start my-nginx
# 重启容器
docker restart my-nginx
🔹 1.4 删除容器
docker rm <容器名或ID>
📌 参数:
-f
:强制删除正在运行的容器-v
:同时删除挂载的数据卷
✅ 示例:
# 删除容器
docker rm my-nginx
# 强制删除正在运行的容器
docker rm -f my-nginx
🔹 1.5 查看容器日志
docker logs <容器名或ID>
📌 参数:
-f
:实时输出日志--tail
:显示最近几行日志
✅ 示例:
# 查看容器日志
docker logs my-nginx
# 实时查看日志
docker logs -f my-nginx
# 查看最近 20 行日志
docker logs --tail 20 my-nginx
🔹 1.6 进入容器
docker exec -it <容器名或ID> /bin/bash
📌 参数:
-i
:保持 STDIN 打开-t
:分配伪终端
✅ 示例:
# 进入容器交互式终端
docker exec -it my-nginx bash
🛠️ 2️⃣ 镜像管理命令
这些命令用于拉取、查看和管理镜像。
🔹 2.1 拉取镜像
docker pull 镜像名[:标签]
✅ 示例:
# 拉取最新版本的 Nginx 镜像
docker pull nginx:latest
# 拉取指定版本的 Redis 镜像
docker pull redis:7.0
🔹 2.2 查看本地镜像
docker images
📌 参数:
-q
:只显示镜像 ID--format
:自定义输出格式
✅ 示例:
# 查看所有本地镜像
docker images
# 只显示镜像 ID
docker images -q
🔹 2.3 删除镜像
docker rmi <镜像名或ID>
📌 参数:
-f
:强制删除镜像--no-prune
:不删除镜像的中间层
✅ 示例:
# 删除指定镜像
docker rmi nginx:latest
# 强制删除镜像
docker rmi -f redis:7.0
🔹 2.4 查看镜像历史
docker history <镜像名或ID>
✅ 示例:
# 查看 Nginx 镜像构建历史
docker history nginx:latest
⚙️ 3️⃣ 数据卷管理命令
Docker 数据卷用于持久化数据。
🔹 3.1 创建数据卷
docker volume create <数据卷名>
✅ 示例:
# 创建数据卷
docker volume create my-volume
🔹 3.2 查看数据卷
docker volume ls
✅ 示例:
# 列出所有数据卷
docker volume ls
🔹 3.3 删除数据卷
docker volume rm <数据卷名>
✅ 示例:
# 删除数据卷
docker volume rm my-volume
🚀 4️⃣ 网络管理命令
Docker 支持自定义网络,便于容器间通信。
🔹 4.1 查看网络
docker network ls
✅ 示例:
# 查看所有网络
docker network ls
🔹 4.2 创建网络
docker network create <网络名>
✅ 示例:
# 创建名为 my-net 的网络
docker network create my-net
🔹 4.3 将容器加入网络
docker network connect <网络名> <容器名或ID>
✅ 示例:
# 将 my-nginx 加入 my-net 网络
docker network connect my-net my-nginx
🔹 4.4 删除网络
docker network rm <网络名>
✅ 示例:
# 删除 my-net 网络
docker network rm my-net
🔥 5️⃣ Docker Compose 命令
docker-compose
是 Docker 官方的编排工具,用于管理多容器应用。
🔹 5.1 启动服务
docker-compose up -d
✅ 示例:
# 启动并在后台运行
docker-compose up -d
🔹 5.2 停止服务
docker-compose down
✅ 示例:
# 停止并删除容器
docker-compose down
🔹 5.3 查看日志
docker-compose logs
✅ 示例:
# 查看 Docker Compose 日志
docker-compose logs
✅ 总结
🔥 开发中常用的 Docker 命令:
- 📦 容器管理:
run
、ps
、stop
、start
、rm
、logs
、exec
- 🛠️ 镜像管理:
pull
、images
、rmi
- 📊 数据卷管理:
volume create
、volume ls
、volume rm
- 🌐 网络管理:
network ls
、network create
、network connect
- 🚀 Docker Compose:
up
、down
、logs
💡 💡 小贴士:
- 使用
docker stats
查看容器资源占用情况 - 使用
docker system prune
清理无用镜像、容器和网络 - 使用
docker-compose
编排多容器应用,简化复杂项目配置