经常遇到docker运行容器后,会启动不了,不能正常运行的情况,如下图:

几天探索方法未果,无奈。经过查找资料了解到原因,:

Docker容器后台运行,就必须有一个前台进程.容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的。

针对这种情况的解决方法是:在运行容器指令,同时加一个tail指令,这样docker容器后台发现前台进程运行,就不会退出,一直运行了。示例指令如下:

#docker run -d --name mysql_s02 ...  /bin/bash -c "tail -f /dev/null"

运行后,再看#docker ps ,正常运行了(注: 此方案暂不可行,表面上是正常了,但连接访问mysql仍不能,说明没有正常启动)

正确做法如下:

需要查看docker容器日志,查看取得相应的错误信息,针对来解决。

#docker logs --since 30m 容器id  

会列出最近的日志信息(详细可参考https://www.jianshu.com/p/1eb1d1d3f25e),根据提示的报错信息,进行修复即可,截图范例如下:

参考:

https://blog.csdn.net/h106140873/article/details/94577383?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.edu_weight&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.edu_weight

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐