docker容器服务部署失败后怎么找原因,您找我是找对人了

2020年03月25日

docker容器服务部署失败后怎么找原因?应用、服务的事件列表记录了对应用和服务操作的关键操作日志信息,可以快速定位应用、服务部署失败的原因。

 

1、比如应用部署之后,报告“Unable to find a node that satisfies the following conditions [port xxxx (Bridge mode)]”

 

当容器使用端口映射(docker run -p xxxx:xxxx或者 compose模板中的ports声明 )之后,统会在宿主机上创建一个port,通过NAT来访问容器的指定port。如果宿主机上的端口被容器或者系统进程占用,就会导致端口分配失败。

 

因为集群管理会检查所有的容器来防止端口配置冲突,即使没有在运行状态的容器,如果已经声明过端口映射。相应的宿主机端口也会标记为已占用。

 

解决方法是,清除占用端口的容器或者进程,或者调整容器端口映射的宿主机端口避免冲突

 

2、 查询Docker Engine日志

 

有时候因为系统原因,Docker Engine无法正常创建、删除、启动、停止容器,我们需要查询Docker Engine日志来排查信息。

 

首先,需要定位到出现问题的节点,SSH登录到指定节点之后,执行下列命令来查看Docker Engine日志

 

Ubuntu 14.04:less /var/log/upstart/docker.log

 

CentOS 7.x:journalctl -r -u docker