Docker问题集绵
一、所有类型
问题1:Docker Swarm部署的服务容器无法启动怎么查看日志
现象:docker stack deploy -c发布的服务容器无法启动,怎么查看错误原因;
解决办法两种:
A. 非portainer服务,可以在portainer里面查看日志;
B. docker service ps --no-trunc {serviceName};
问题2:现网服务发现漏洞,比如fastjson反序列化远程代码执行漏洞,需要升级jar包
现象:现网那么多微服务,每个都用到fastjson包,而且上传文件较慢,难道非得代码打包镜像并上传替换么
解决办法:
第一步:先下载解决了漏洞的fastjson包,并上传到对应服务器;
第二步:写脚本循环拷贝文件到对应目录
#/bin/bash for file in `find / -type f -name fastjson-1.2.47.jar` do dir=${file%fastjson-1.2.47.jar} cp /data/fastjson-1.2.70.jar $dir done;
第三步:查找服务器上包含原有的fastjson包并删除,命令为 find / -type f -name fastjson-1.2.47.jar -exec rm -rf {} \;
问题3:Docker磁盘空间满了
可参考:
问题4:Docker Swarm部署的服务启动报error creating VXLAN interface: file exists错误
现象:subnet sandbox join failed for \"10.0.0.0/24\": error creating VXLAN interface: file exists
原因:某些情情况下vxlan并没有随着容器的停止(不知道是停止还是删除)而被释放(删除),导致后续启动容器的时候,无法创建vxlan导致容器无法启动;
解决办法:
第一步:查看vxlan接口 ip -d link show | grep vx;
第二步:删除vxlan接口 ip link delete vx-00100f-drzik;
第三步:重新发布服务。