当docker容器抛出异常
• 面对寻找容器内应用启动抛异常, 导致容器很快就结束或者构建镜像时失败了等问题
◦ 会出现的情况:
(1)容器处于Exited异常退出时,将无法用docker exec进入容器内,会提示该容器不在运行中
(2)docker log显示的错误无法在外部进行修改
◦ 解决的方法
(1)「docker ps -a」查看当前容器状态,对应Exited状态码的含义

(2)「docker inspect」查看当前state,确认是否与OOMKilled等有关
(3)根据dockerfile中使用的参数来重新启动容器,若为CMD,则在docker run的时候在后面加入命令行参数,覆盖掉CMD内容;如果是ENTRYPOINT,在docker run后加上“--entrypoint”覆盖掉dockerfile中ENTRYPOINT的内容,进入新的容器内进行调试
(4)如果是配置文件类等错误,可以用「docker cp」将容器内错误的配置文件拷贝到本机上,修改后再重新拷贝回去,然后「docker start」重新运行容器
• 可以用来分析镜像的工具:dive
◦ 指令
(1)dive <image_name>
(2)dive build -t <image_name>生成镜像并直接跳入分析

浙公网安备 33010602011771号