1. Docker容器管理核心命令解析
作为云原生技术栈的核心组件,Docker已经成为现代运维工程师的必备技能。今天我将结合多年容器化部署经验,详细解析12个高频使用的Docker容器管理命令,这些命令在实际工作中每天都会用到,但很多开发者对其使用细节和原理理解不够深入。
1.1 容器状态监控与进程管理
docker stats 是排查容器性能问题的第一道工具。很多人以为它只是简单显示CPU和内存使用率,其实它的输出包含多个关键指标:
bash复制docker stats mysql
输出示例:
code复制CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
a1b2c3d4e5f6 mysql 0.15% 350MiB / 1.944GiB 17.59% 1.45kB / 648B 0B / 0B 45
重要提示:默认情况下stats命令会持续刷新,如需单次快照需加
--no-stream参数。生产环境建议配合--format参数自定义输出格式,例如只显示关键指标:bash复制docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"
docker top 则用于查看容器内部进程树,这对排查僵尸进程或资源占用异常特别有用:
bash复制docker top mysql
典型输出:
code复制UID PID PPID C STIME TTY TIME CMD
999 1234 1212 0 14:20 ? 00:00:10 mysqld
经验之谈:当容器内进程出现异常时,比较
docker top和宿主机ps aux的输出,可以快速判断是否是cgroups配置问题。我曾遇到过一个案例,容器内显示进程CPU占用100%,但宿主机实际只有5%,最后发现是CPU配额参数设置错误。
