找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3623

积分

0

好友

481

主题
发表于 3 小时前 | 查看: 4| 回复: 0

Docker 是云原生的核心,在生产环境中掌握常用的运维命令,能让你快速定位并解决容器故障。下面逐一拆解 9 个高频命令,涵盖日志、资源、配置和清理等场景。

1. 查看运行中的容器

docker ps

这条命令会列出当前所有正在运行的容器。输出示例:

CONTAINER ID   IMAGE      STATUS
a12b34cd56     nginx      Up3 days
b23c45de67     redis      Up5 days

如果想一次性看到包括已停止在内的所有容器,可以加上 -a

docker ps -a

2. 查看容器日志

当出现配置错误、数据库连接失败、Redis 连接失败或 JVM 启动异常时,docker logs 是线上排障的第一选择。

查看完整日志:

docker logs 容器ID

实时追踪日志输出:

docker logs -f nginx

只看最近 100 行:

docker logs --tail 100 nginx

只看最近 10 分钟的日志:

docker logs --since 10m nginx

典型场景:应用启动失败,直接执行 docker logs app 观察报错信息。

3. 进入容器内部

docker exec 是线上排查时最常用的命令,可以让你直接“钻进”容器里调试。

如果有 bash,就用:

docker exec -it nginx bash

如果容器精简到没有 bash,换成 sh:

docker exec -it nginx sh

进入之后,你可以:

  • 查看配置文件:cat /etc/nginx/nginx.conf
  • 查看进程:ps -ef
  • 查看磁盘使用:df -h
  • 查看网络连接:netstat -tunlp

4. 查看容器资源占用

使用 docker stats 可以实时监控容器的 CPU、内存等指标,非常适合排查容器网络、Volume 挂载、环境变量或启动参数问题。

docker stats

输出内容会持续刷新,类似:

CONTAINER   CPU %   MEM USAGE
nginx       2.1%   120MB
redis       0.5%   80MB

如果只想看某一个容器:

docker stats nginx

典型场景:收到 CPU 100% 或内存飙升的告警时,第一时间敲下 docker stats,快速定位出问题的容器。

5. 查看容器详细信息

docker inspect 会输出容器的全部配置元数据,这在排查网络、存储挂载等问题时不可或缺。

查看某个容器的完整信息:

docker inspect nginx

只看 IP 地址:

docker inspect nginx | grep IPAddress

查看挂载的目录:

docker inspect nginx

(从输出中找到 “Mounts” 字段即可)

6. 重启容器

当更新了配置或代码后,用 docker restart 可以快速使新内容生效。

docker restart nginx

也可以同时重启多个容器:

docker restart nginx redis mysql

典型场景:线上发布后执行 docker restart 容器名,让配置更新或代码更新立刻生效。

7. 停止与启动容器

正常停止:

docker stop nginx

正常启动:

docker start nginx

如果容器卡死需要强制终止,用 kill:

docker kill nginx

典型场景:服务维护窗口期间执行 docker stop app,维护完成后执行 docker start app

8. 查看与删除镜像

docker images

该命令列出本机所有镜像,输出示例:

REPOSITORY   TAG
nginx        latest
redis        7
mysql        8.0

当服务器磁盘被打满时,可以通过 docker images 查看各镜像体积,果断删除不再使用的镜像:

docker rmi 镜像ID

9. 清理无用资源

Docker 长时间运行后,磁盘空间不足是最常见的问题之一。

先查看空间占用:

docker system df

然后清理停止的容器、未使用的网络、悬空镜像等无用资源:

docker system prune

如果连所有未使用的镜像也一并清掉,加上 -a

docker system prune -a

要专门清理废弃的 Volume,执行:

docker volume prune

典型场景:线上服务器磁盘使用率超过 90% 时,依次执行 docker system dfdocker system prune,快速释放磁盘空间。


Docker 线上运维排障口诀

下次遇到故障,照着线上运维场景的口诀来排查,效率会高很多:

服务挂了

docker ps
docker logs

CPU 飙高

docker stats
docker exec
top

网络异常

docker inspect
docker exec

配置问题

docker exec -it 容器 bash

磁盘爆满


docker system df
docker system prune



上一篇:AI 辅助 ingress-nginx 迁移 Higress:30 分钟搞定 60 个资源
下一篇:AI服务器引爆MLCC需求暴涨:村田、三星疯狂扩产,国产替代会重演存储神话吗?
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-6-7 23:38 , Processed in 0.655964 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表