🐳 Docker 常用命令大全 + 实战演练(99%场景覆盖版)
🏷️ 标签:Docker、容器化、DevOps、命令速查、Linux 运维
👥 适合读者:后端工程师、运维 DevOps、新手学习者
✨ 前言
💬 学会使用 Docker,不仅能快速构建和部署微服务系统,还能提升环境一致性和部署效率。但很多新手装完 Docker 却不知道该怎么用。
📚 本文总结了 Docker 最常用的命令场景,包括镜像管理、容器操作、网络与数据卷配置、系统清理、Docker Compose 等,覆盖开发与运维 99% 的实际使用需求,适合随时查阅、收藏!
🗂️ 命令速查总目录
- 🛠️ [1. 基础信息命令](#1. 基础信息命令)
- 📦 [2. 镜像管理命令](#2. 镜像管理命令)
- 🚀 [3. 容器管理命令](#3. 容器管理命令)
- 📁 [4. 数据卷(Volumes)管理](#4. 数据卷(Volumes)管理)
- 🌐 [5. 网络操作命令](#5. 网络操作命令)
- 🏗️ [6. 构建与导入导出镜像](#6. 构建与导入导出镜像)
- 🧹 [7. 系统清理维护](#7. 系统清理维护)
- 🧩 [8. Docker Compose 快速入门](#8. Docker Compose 快速入门)
- 🔧 [9. 实战演练:部署 Nginx + 挂载静态页面](#9. 实战演练:部署 Nginx + 挂载静态页面)
🛠️ 1. 基础信息命令
bash
docker version # 查看 Docker 版本
docker info # 显示 Docker 系统信息
docker --help # 查看所有子命令说明
📦 2. 镜像管理命令
bash
docker images # 查看所有本地镜像
docker pull 镜像名[:标签] # 从远程仓库拉取镜像
docker rmi 镜像ID/镜像名 # 删除镜像
docker tag 源镜像 目标镜像[:标签] # 给镜像打标签(重命名)
docker inspect 镜像ID # 查看镜像详细信息
docker history 镜像ID # 查看镜像构建历史
docker save 镜像名 > image.tar # 导出镜像为 tar 包
docker load < image.tar # 从 tar 文件导入镜像
docker search 关键字 # 在 Docker Hub 搜索镜像
🚀 3. 容器管理命令
bash
docker ps # 查看正在运行的容器
docker ps -a # 查看所有容器(含已停止)
docker run -it 镜像名 /bin/bash # 交互式运行容器
docker run -d 镜像名 # 后台运行容器
docker run --name 容器名 镜像名 # 指定名称运行容器
docker run -p 宿主端口:容器端口 镜像名 # 端口映射运行容器
docker run -v 本地路径:容器路径 镜像名 # 挂载目录运行容器
docker start 容器ID/名 # 启动容器
docker stop 容器ID/名 # 停止容器
docker restart 容器ID/名 # 重启容器
docker rm 容器ID/名 # 删除容器
docker logs [-f] 容器ID/名 # 查看容器日志(-f 实时)
docker exec -it 容器ID/名 bash # 进入容器终端(推荐)
docker attach 容器ID/名 # 连接容器终端(慎用)
docker cp 容器ID:/路径 本地路径 # 从容器复制文件到宿主机
docker cp 本地路径 容器ID:/路径 # 从宿主机复制文件到容器
docker inspect 容器ID/名 # 查看容器详细配置
📁 4. 数据卷(Volumes)管理
bash
docker volume create 卷名 # 创建数据卷
docker volume ls # 列出所有卷
docker volume inspect 卷名 # 查看卷详情
docker volume rm 卷名 # 删除卷
# 示例:挂载数据卷运行容器
docker run -d -v 卷名:/usr/share/nginx/html nginx
🌐 5. 网络操作命令
bash
docker network ls # 查看所有网络
docker network create my-net # 创建自定义网络
docker network inspect 网络名 # 查看网络详情
docker network connect 网络 容器名 # 将容器加入网络
docker network disconnect 网络 容器名 # 将容器移出网络
docker network rm 网络名 # 删除网络
🏗️ 6. 构建与导入导出镜像
bash
docker build -t my-image:1.0 . # 构建镜像(当前目录含 Dockerfile)
docker save my-image > my-image.tar # 导出镜像为 tar
docker load < my-image.tar # 导入镜像
docker export 容器ID > container.tar # 导出容器文件系统
docker import container.tar my-image # 导入为镜像
🧹 7. 系统清理维护
bash
docker system prune # 清理所有未使用的镜像/容器/网络(需确认)
docker image prune # 清理悬挂镜像
docker container prune # 清理已退出容器
docker volume prune # 清理未使用卷
docker builder prune # 清理构建缓存
🧩 8. Docker Compose 快速入门
bash
docker compose up -d # 启动 Compose 项目(后台)
docker compose down # 停止并删除所有服务
docker compose ps # 查看服务状态
docker compose logs -f # 查看服务日志
docker compose restart # 重启所有服务
📄 示例 docker-compose.yml
:
yaml
version: "3"
services:
nginx:
image: nginx
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
🔧 9. 实战演练:部署 Nginx + 静态页面
bash
# 运行 nginx 容器并挂载本地 html
docker run -d --name my-nginx \
-p 8080:80 \
-v ~/nginx/html:/usr/share/nginx/html \
nginx
# 创建本地 html 目录并写入 index.html
mkdir -p ~/nginx/html && echo "<h1>Hello Docker</h1>" > ~/nginx/html/index.html
🌐 访问 http://<宿主机IP>:8080
即可看到页面效果。
🧠 总结
🎯 掌握这些 Docker 命令,意味着你具备了从镜像获取 → 容器部署 → 数据挂载 → 网络联通 → 清理优化 的完整生命周期管理能力。
💡 建议收藏本页或打印保存,方便日常开发查阅。
✍️ 作者专栏:《部署不求人》
❤️ 如果文章对你有帮助,欢迎点赞 👍、收藏 ⭐、评论 💬!