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通过命名空间实现进程、网络等隔离,利用Cgroups控制资源,联合文件系统分层存储并支持数据持久化,数据卷技术确保容器数据不受生命周期影响
    2025-09-09
  • docker私有库的搭建实现

    docker私有库的搭建实现

    这篇文章主要介绍了docker私有库的搭建实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Linux下Docker及portainer相关配置方法

    Linux下Docker及portainer相关配置方法

    本文以CentOS 7为例,安装docker CE版本,docker有两种版本,社区版本CE和企业版本EE,通过实例代码给大家介绍了Linux下Docker及portainer相关配置方法,感兴趣的朋友跟随小编一起看看吧
    2019-06-06
  • Docker 搭建集群MongoDB的实现步骤

    Docker 搭建集群MongoDB的实现步骤

    这篇文章主要介绍了Docker 搭建集群MongoDB的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Docker容器备份的常用方法总结

    Docker容器备份的常用方法总结

    容器化技术已经成为现代应用开发和部署的核心组成部分,而 Docker 作为最流行的容器平台,承载着越来越多的关键业务,在这些环境中,确保容器数据的安全性和可恢复性至关重要,本文给大家介绍了Docker容器备份的常用方法,需要的朋友可以参考下
    2025-08-08
  • 多云环境下的Docker部署策略实现

    多云环境下的Docker部署策略实现

    在多云环境下,Docker容器技术为应用程序的部署提供了高度的灵活性和可扩展性,本文就来介绍一下多云环境下的Docker部署策略实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • Spring Boot 2.4 新特性之一键构建Docker镜像的过程详解

    Spring Boot 2.4 新特性之一键构建Docker镜像的过程详解

    这篇文章主要介绍了Spring Boot 2.4 新特性之一键构建Docker镜像的过程详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • docker 部署Flink和传统部署的详细过程

    docker 部署Flink和传统部署的详细过程

    Flink是一个开源的分布式流处理框架,支持状态管理、事件时间、窗口模型等特性,可以通过下载、解压、配置和启动来使用,提供了多种运行方式,包括Docker和SQLClient,本文介绍docker部署Flink和传统部署的详细过程,感兴趣的朋友跟随小编一起看看吧
    2025-11-11
  • 手动构建自己的docker容器镜像实战

    手动构建自己的docker容器镜像实战

    这篇文章主要介绍了如何手动构建自己的镜像并上传到镜像仓库中,文中有详细的代码实例,需要的朋友可以参考阅读
    2023-04-04
  • Docker的java镜像制作及Podfile使用详解

    Docker的java镜像制作及Podfile使用详解

    文章浏览阅读169次。这里做个一个演示,给一个jar包和dockefile上传demo目录,就可以用如下的命令进行打包。dockerfile内容如下# 基础镜像# 设定时区# 拷贝jar包# 入口通过命令看看我们打包的镜像是否成功运行这个镜像看看这个镜像的运行日志。
    2025-09-09

最新评论