跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

Docker 常用命令指南

Docker 常用命令涵盖了启动服务、镜像管理、容器操作、网络配置及 Docker Compose 编排等核心功能。内容包括 systemctl 控制 Docker 服务状态,docker images/pull/rmi 管理镜像,docker run/start/stop/exec 控制容器生命周期,docker volume/network 管理数据卷与网络,以及 docker-compose 定义多容器应用。此外还包含命令别名设置方法,帮助开发者快速掌握 Docker 命令行工具的使用。

王者发布于 2026/3/16更新于 2026/10/15101 浏览
Docker 常用命令指南

Docker 常用命令指南

一、启动类

1. 启动 docker

systemctl start docker

2. 关闭 docker

systemctl stop docker

3. 重新启动 docker

systemctl restart docker

4. docker 设置自启动

systemctl enable docker

5. 查看 docker 运行状态

systemctl status docker

6. 查看 docker 版本号等信息

docker version

或者

docker info

该命令还可以查看到有多少容器及其状态和镜像的信息。

7. docker 帮助

docker --help
docker run --help

二、镜像类

1. 查看镜像

docker images

2. 搜索镜像

docker search [OPTIONS] 镜像名字
docker search mysql

3. 拉取镜像

docker pull mysql

没有指定版本则默认最新版。

4. 运行镜像

docker run tomcat

运行镜像后可以按 Ctrl+C 退出。

5. 删除镜像

docker rmi 镜像名/镜像 ID
# 若镜像在运行则会报错
docker rmi -f 镜像名/镜像 ID
# 强制删除一个
docker rmi -f mysql
# 删除多个,其镜像 ID 或镜像用空格隔开即可
docker rmi -f mysql redis
# 删除全部镜像
docker rmi -f $(docker images -aq)

其中 -a 意思为显示全部,-q 意思为只显示 ID。

6. 加载镜像

docker load -i 镜像保存文件位置
docker load myimage.tar

7. 保存镜像

docker save 镜像名/镜像 ID -o 镜像保存位置和名字
docker save tomcat -o /myimage.tar

三、容器类

1. 查看正在运行的容器

docker ps
docker ps -a # 查看所有容器
# 加格式化方式访问,格式会更加清爽
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"

2. 创建容器

docker run [OPTIONS] IMAGE [COMMAND][ARG...]

常用参数:

  • --name=NAME: 为容器指定名字为 NAME,不使用的话系统自动为容器命名
  • -d: 后台运行容器并返回容器 ID,也即启动守护式容器 (后台运行)
  • -i: 以交互模式运行容器,通常与 -t 同时使用
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
  • -P: 随机端口映射,大写 P
  • -p: 指定端口映射,小写 p

示例:创建并允许 Nginx 容器

docker run -d --name nginx -p80:80 nginx

3. 启动守护式容器(后台运行)

docker run -d 容器名
docker run -d redis:6.0.8

4. 停止容器

docker stop 容器名
docker stop nginx

5. 启动容器

docker start 容器名
docker start nginx
docker restart 容器名
docker restart nginx

6. 进入正在运行的容器

docker exec -it 容器名 bash
docker exec -it nginx /bin/bash

7. 停止容器

docker stop 容器名
docker stop nginx

8. 强制停止容器

docker kill 容器名
docker kill nginx

9. 删除容器

# 删除一个
docker rm 容器 ID
docker rm nginx
docker rm -f 容器 ID
# 强制删除
docker rm -f nginx
# 删除多个
docker rm -f $(docker ps -aq) 或 docker ps -aq | xargs docker rm

10. 查看容器日志

docker logs 容器名
docker logs nginx

11. 查看容器内运行的进程

docker top 容器名
docker top nginx

12. 查看容器内部细节

docker inspect 容器名
docker inspect nginx

13. 创建容器数据卷挂载

# 创建容器并指定数据卷,注意通过 -v 参数来指定数据卷
docker run -d --name nginx -p80:80 -v html:/usr/share/nginx/html nginx

14. 查看数据卷

docker volume ls

15. 查看数据卷详情

docker volume inspect 数据卷名
docker volume inspect html

16. 删除数据卷

docker volume rm 数据卷名
docker volume rm html

四、网络类

1. 查看网络

docker network ls

2. 创建网络

docker network create 网络名
docker network create hmall

3. 查看网络数据源

docker network inspect 网络名
docker network inspect hmall

4. 删除网络

docker network rm 网络名
docker network rm hmall

五、Docker Compose

假设 docker run 部署 mysql 命令如下:

docker run -d \
  --name mysql \
  -p3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  -v ./mysql/data:/var/lib/mysql \
  -v ./mysql/conf:/etc/mysql/conf.d \
  -v ./mysql/init:/docker-entrypoint-initdb.d \
  --network hmall mysql

那么用 docker-compose.yml 文件定义就是:

version: "3.8"
services:
  mysql:
    image: mysql
    container_name: mysql
    ports:
      - "3306:3306"
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 123
    volumes:
      - "./mysql/conf:/etc/mysql/conf.d"
      - "./mysql/data:/var/lib/mysql"
    networks:
      - new
networks:
  new:
    name: hmall

1. 查看帮助

docker-compose -h

2. 启动所有服务

docker-compose up
docker-compose up -d # 后台运行

3. 停止并删除容器、网络、卷、镜像

docker-compose down

4. 进入容器实例内部

docker-compose exec yml 里面的服务 id

5. 展示容器

docker-compose ps

6. 展示进程

docker-compose top

7. 查看容器输出日志

docker-compose logs yml 里面的服务 id

8. 检查配置

docker-compose config
docker-compose config -q # 检查配置,有问题才有输出

9. 启动服务

docker-compose start

10. 重启服务

docker-compose restart

11. 停止服务

docker-compose stop

六、其他

1. 命令别名

# 修改 /root/.bashrc 文件
vi /root/.bashrc
# 内容如下:
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias dps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"'
alias dis='docker images'
# Source global definitions
if [-f /etc/bashrc ]; then
  . /etc/bashrc
fi
# 退出
exit :wq
# 执行命令使别名生效
source /root/.bashrc

目录

  1. Docker 常用命令指南
  2. 一、启动类
  3. 1. 启动 docker
  4. 2. 关闭 docker
  5. 3. 重新启动 docker
  6. 4. docker 设置自启动
  7. 5. 查看 docker 运行状态
  8. 6. 查看 docker 版本号等信息
  9. 7. docker 帮助
  10. 二、镜像类
  11. 1. 查看镜像
  12. 2. 搜索镜像
  13. 3. 拉取镜像
  14. 4. 运行镜像
  15. 5. 删除镜像
  16. 若镜像在运行则会报错
  17. 强制删除一个
  18. 删除多个,其镜像 ID 或镜像用空格隔开即可
  19. 删除全部镜像
  20. 6. 加载镜像
  21. 7. 保存镜像
  22. 三、容器类
  23. 1. 查看正在运行的容器
  24. 加格式化方式访问,格式会更加清爽
  25. 2. 创建容器
  26. 3. 启动守护式容器(后台运行)
  27. 4. 停止容器
  28. 5. 启动容器
  29. 6. 进入正在运行的容器
  30. 7. 停止容器
  31. 8. 强制停止容器
  32. 9. 删除容器
  33. 删除一个
  34. 强制删除
  35. 删除多个
  36. 10. 查看容器日志
  37. 11. 查看容器内运行的进程
  38. 12. 查看容器内部细节
  39. 13. 创建容器数据卷挂载
  40. 创建容器并指定数据卷,注意通过 -v 参数来指定数据卷
  41. 14. 查看数据卷
  42. 15. 查看数据卷详情
  43. 16. 删除数据卷
  44. 四、网络类
  45. 1. 查看网络
  46. 2. 创建网络
  47. 3. 查看网络数据源
  48. 4. 删除网络
  49. 五、Docker Compose
  50. 1. 查看帮助
  51. 2. 启动所有服务
  52. 3. 停止并删除容器、网络、卷、镜像
  53. 4. 进入容器实例内部
  54. 5. 展示容器
  55. 6. 展示进程
  56. 7. 查看容器输出日志
  57. 8. 检查配置
  58. 9. 启动服务
  59. 10. 重启服务
  60. 11. 停止服务
  61. 六、其他
  62. 1. 命令别名
  63. 修改 /root/.bashrc 文件
  64. 内容如下:
  65. .bashrc
  66. User specific aliases and functions
  67. Source global definitions
  68. 退出
  69. 执行命令使别名生效

更多推荐文章

查看全部
  • AI 图生图与视频生成完整工作流及提示词参数表
  • 基于 FastGPT 与 MCP 协议构建工具增强型智能体
  • Flutter 三方库 xpath_selector 在鸿蒙系统的适配与应用
  • Claude Code 辅助 Verilog 编程与 FPGA 设计实战
  • DIY无人机--升压降压电路
  • C++与Rust高效集成方案:双向绑定技术详解
  • 渗透测试基本流程详解:从信息收集到内网渗透
  • Enterprise Architect 16 下载、安装与无限30天操作
  • OpenVINO 优化 Stable Diffusion 实现边缘设备高效推理
  • 12 篇必读大模型论文精选
  • 前端三剑客:HTML、CSS、JavaScript 如何协同工作
  • Windows 部署 OpenClaw 接入飞书机器人
  • 大厂为何对大模型投入变得谨慎?
  • AI 生图模型深度对比:Gemini 3 Pro、GPT Image 与 Seedream 架构差异与选型建议
  • GitHub 国内访问加速方案:镜像站点与代理服务解析
  • 搜索二叉树与哈希表(HashMap/HashSet)原理及实现
  • Open-Lovable 网页克隆实战:结合 cpolar 实现远程协作
  • Visual C++ 运行库管理指南:故障诊断与部署维护
  • Alas 碧蓝航线自动化脚本部署与配置指南
  • 基于 Python 与 LLM 的股价数据分析与预测实践

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online