2026年Docker常用命令速查表(收藏这一篇就够了)

 更新时间:2026年04月14日 09:17:22   作者:南璋  
因为日常需要维护好几台服务器,所以Docker用了很多年,踩了不少坑,这篇把最常用的命令整理出来,按场景分类,方便自己查阅,也分享给需要的朋友

前言

去年有一次服务器磁盘满了,查了半天最后发现是Docker镜像和容器占了几十G,一个docker system prune -a直接释放了20G+。从那以后我就养成了定期清理的习惯。

我现在服务器上的服务基本全部容器化了——Jenkins、MySQL、Nginx,还有一些公司的自动化测试平台服务。配合Portainer做可视化管理,日常维护确实省心不少。

下面是我工作中高频使用的命令,没有废话,直接复制能用。

一、镜像操作

# 搜索镜像
docker search nginx
# 拉取镜像(建议指定版本)
docker pull nginx:1.25
docker pull mysql:8.0
# 查看本地镜像
docker images
docker images -a  # 包括中间层
# 删除镜像
docker rmi nginx:1.25
docker rmi $(docker images -q)  # 删除所有(慎用!)
# 镜像导出/导入(内网环境经常用)
docker save -o nginx.tar nginx:1.25
docker load -i nginx.tar

踩坑提醒:千万别用latest标签。上次公司有个服务因为latest自动更新挂了,排查了两个小时才发现是新版本不兼容。从那以后所有镜像我都锁死版本号。

二、容器生命周期

# 创建并启动
docker run -d --name my-nginx -p 80:80 nginx

# 生产环境常用参数组合(我给公司搭服务基本都用这个模板)
docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e MYSQL_ROOT_PASSWORD=your_password \
  -v /data/mysql:/var/lib/mysql \
  --restart=always \
  mysql:8.0

--restart=always 这个一定要加,我之前有次服务器重启忘了手动起容器,导致CI流水线全挂,运维群炸了。

# 查看容器
docker ps
docker ps -a  # 包括已停止的

# 启停
docker start my-nginx
docker stop my-nginx
docker restart my-nginx

# 删除
docker rm my-nginx
docker rm -f my-nginx  # 强删运行中的(别在生产环境随便用)

三、进入容器

# 推荐:exec(退出不影响容器)
docker exec -it my-nginx /bin/bash
docker exec -it my-nginx /bin/sh  # alpine镜像没有bash,用sh

# 执行单条命令
docker exec my-nginx cat /etc/nginx/nginx.conf

# 文件复制(调试配置文件时经常用)
docker cp my-nginx:/etc/nginx/nginx.conf ./nginx.conf
docker cp ./nginx.conf my-nginx:/etc/nginx/nginx.conf

我经常改完Nginx配置先copy出来,改好了再copy回去,docker restart一下就生效。比每次都进去vi方便多了。

四、日志与调试

这部分是我用得最多的。线上出问题第一件事就是看日志。

# 查看日志
docker logs my-nginx
docker logs -f my-nginx          # 实时跟踪(排查问题必用)
docker logs --tail 100 my-nginx   # 最后100行
docker logs --since 30m my-nginx  # 最近30分钟

# 查看容器详情
docker inspect my-nginx

# 资源占用
docker stats
docker stats --no-stream  # 打印一次就退出,适合写脚本监控

有时候容器日志太大,我会配合Goaccess生成可视化的HTML报告:

# 把容器日志导出来分析
docker logs my-nginx > access.log
goaccess access.log -o report.html --log-format=COMBINED --real-time-html

Goaccess这块我之前单独写过笔记,配合Nginx日志分析效果很好,能直观看到哪些接口慢、哪些IP访问异常。

五、网络管理

# 创建自定义网络
docker network create my-network

# 容器加入网络(可以用容器名互访)
docker run -d --name app --network my-network my-app
docker run -d --name db --network my-network mysql:8.0

# 查看网络详情
docker network inspect my-network

经验教训:别用容器IP互访,容器重启IP会变,服务就挂了。用自定义网络+容器名是最稳的方案。之前公司有个服务因为hardcode了容器IP,rebuild之后怎么都连不上数据库,查了半天才发现这个问题。

六、数据卷

docker volume create mysql-data
docker volume ls
docker volume inspect mysql-data
docker volume prune  # 清理未使用的卷(释放空间)

七、Docker Compose

单个容器还好,服务多了之后compose是刚需:

docker compose up -d        # 启动所有服务
docker compose down          # 停止并删除
docker compose logs -f       # 查看所有服务日志
docker compose restart mysql # 重启单个服务
docker compose ps            # 服务状态

我现在搭测试环境基本都是先写docker-compose.yml,一条命令把MySQL、Redis、Nginx全拉起来。比手动一个个run方便太多了。

八、清理磁盘

# 按需清理
docker container prune   # 停止的容器
docker image prune -a    # 未使用的镜像

# 一键大扫除(释放空间神器)
docker system prune -a

# 查看磁盘占用
docker system df

我建议在crontab里加一个每月自动清理:

# 每月1号凌晨3点自动清理
0 3 1 * * docker system prune -af >> /var/log/docker-prune.log 2>&1

最后

这些命令基本覆盖了我的日常80%的Docker操作场景。建议大家收藏备用,用的时候Ctrl+F搜关键词就行。

以上就是2026年Docker常用命令速查表(收藏这一篇就够了)的详细内容,更多关于Docker常用命令的资料请关注脚本之家其它相关文章!

相关文章

  • Docker容器时间与宿主机不一致/宿主机时间不同步校验问题

    Docker容器时间与宿主机不一致/宿主机时间不同步校验问题

    在Docker容器中,若未单独配置localtime,可能导致时间与宿主机不一致,例如UTC与CST(东八区)相差8小时,解决方法包括在启动时通过docker run添加时间参数,使用Dockerfile设置,或通过docker-compose配置,对于已运行的容器
    2024-10-10
  • Docker Compose之Sidecar模式详解

    Docker Compose之Sidecar模式详解

    这篇文章主要介绍了Docker Compose之Sidecar模式,本文通过图文实例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • docker如何配置mysql主从复制

    docker如何配置mysql主从复制

    文章介绍了如何在CentOS 7上搭建一个MySQL集群,包括创建Docker环境、配置文件设置、创建和启动MySQL容器、设置远程访问以及配置主从同步
    2024-12-12
  • Docker 本地导入镜像/保存镜像/载入镜像/删除镜像的方法

    Docker 本地导入镜像/保存镜像/载入镜像/删除镜像的方法

    这篇文章主要介绍了Docker 本地导入镜像/保存镜像/载入镜像/删除镜像的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • docker部署项目/var/lib/docker/overlay2目录满了该如何清理

    docker部署项目/var/lib/docker/overlay2目录满了该如何清理

    Docker中的/var/lib/docker/overlay2目录是用于存储Docker容器的数据层和镜像层的,使用Docker一段时间后这个目录可能会变得非常大,这篇文章主要给大家介绍了关于docker部署项目/var/lib/docker/overlay2目录满了该如何清理的相关资料,需要的朋友可以参考下
    2024-04-04
  • Docker 入门快速上手指南

    Docker 入门快速上手指南

    本篇文章主要介绍了详解Docker 快速上手指南,记录 Docker 中的常用操作、指令,使得大家能够快速地使用 Docker。
    2017-03-03
  • 如何使用docker对容器资源进行限制

    如何使用docker对容器资源进行限制

    这篇文章主要介绍了如何使用docker对容器资源进行限制,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • docker启动elasticsearch时内存不足问题及解决方法

    docker启动elasticsearch时内存不足问题及解决方法

    这篇文章主要介绍了docker启动elasticsearch时内存不足问题,本文给大家分享安装过程及解决方法,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Docker镜像构建-Aliyun详解

    Docker镜像构建-Aliyun详解

    这篇文章主要介绍了Docker镜像构建-Aliyun的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-07-07
  • 在Docker中安装Elasticsearch7.6.2的教程

    在Docker中安装Elasticsearch7.6.2的教程

    这篇文章主要介绍了在Docker中安装Elasticsearch7.6.2的教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11

最新评论