Docker 容器起不来或中途停掉:读映像文档、查状态日志、找映像商三步定位

容器出问题,先走三步通用流程

Docker 容器的毛病翻来覆去就三类:部署完起不来、跑着跑着自己停了、活着但行为不正常。在 Container Manager 里不必急着删了重建,按「读映像文档、查状态日志、找映像商」的顺序过一遍,多数问题能落到具体一行配置上。

先读映像文档,再谈排障

容器能不能跑,先看它对环境有什么要求。映像来自 DockerHub 的,进 Container Manager > 镜像仓库,搜索映像名,单击映像旁的图标就能打开 DockerHub 上的映像总览页面,环境变量、挂载路径、端口这些要求都写在里面。

一个典型例子:部署带 MySQL 的容器时,必须设置 MYSQL_ROOT_PASSWORD 环境变量——少这一项,容器就无法正常运行。这类要求读一遍映像文档就能拿到,比对着报错盲试快得多。

状态与日志:两类常见报错对号

容器无法启动、意外停止或运行异常时,进入 Container Manager > 容器 > 详细信息,先看当前状态;要追溯更多过往事件,切到日志选项卡逐条翻。两种常见情形值得对号:

  • 状态显示因文件夹丢失而意外停止,路径映射不进容器——比如 /volume1/docker/mysql 这个文件夹不存在,容器自然挂载不上。去 File Station 把对应文件夹建好,问题就解了;

  • 部署后无法启动,日志指向缺少必需的环境变量——到详细信息的设置选项卡里把变量补上。

设置都对,就带着日志找映像提供商

前两步都核对过、容器仍然不正常,大概率是映像本身的问题。映像来自 DockerHub 的,总览页上通常挂着提供商的支援资源——例如 Postgres 映像就给出了支持网站链接。拿着日志里的报错去找映像方,比自己在配置里打转有效。

小结

  • 起不来,先查映像文档里的环境变量与路径要求;

  • 停了,看详细信息的状态与日志选项卡,缺文件夹建文件夹,缺变量补变量;

  • 都排除后,带日志找映像提供商。

诚鑫致达科技给客户装完容器,会把每只容器的环境变量、挂载路径、端口从详细信息页抄成一页配置备忘收进项目文档——往后换机重建或照搬第二套环境,照着这一页填,几分钟就能拉起一模一样的容器。