7、Docker 常用命令大全

🐳 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 命令,意味着你具备了从镜像获取 → 容器部署 → 数据挂载 → 网络联通 → 清理优化 的完整生命周期管理能力。

💡 建议收藏本页或打印保存,方便日常开发查阅。


✍️ 作者专栏:《部署不求人》

❤️ 如果文章对你有帮助,欢迎点赞 👍、收藏 ⭐、评论 💬!

相关推荐
陌上阳光3 小时前
docker搭建ray集群
docker·容器·ray
这就是佬们吗4 小时前
初识 docker [上]
java·开发语言·笔记·docker·容器
BigBigHang4 小时前
【docker】DM8达梦数据库的docker-compose以及一些启动踩坑
数据库·docker·容器
云道轩4 小时前
使用Docker在Rocky Linux 9.5上在线部署LangFlow
linux·人工智能·docker·容器·langflow
伟大的大威4 小时前
Docker 部署 Supabase并连接
运维·docker·容器
专家大圣5 小时前
轻量级远程开发利器:Code Server与cpolar协同实现安全云端编码
网络·docker·树莓派·香橙派·casaos·code server
杰克逊的日记5 小时前
k8s的csi对接GPFS
云原生·容器·kubernetes·存储·gpfs
岚天start5 小时前
云服务器以域名形式访问机房Kubernetes集群服务之解决方案
nginx·docker·kubernetes·kubesphere·解决方案·云服务器·机房
cici158749 小时前
Docker搭建Hadoop集群
hadoop·docker·eureka
容器魔方9 小时前
「中科类脑」正式加入 Karmada 用户组!携手社区共建多集群生态
云原生·容器·云计算