解决docker容器启动后马上退出的问题(docker容器崩溃后自动重启)

admin 151 2022-07-25

阿里云服务器优惠多,折扣错,惊喜多,请咨询:www.wqiis.com

最近在看docker如何让容器在启动时直接运行某些进程,后来发现Dockerfile可以在容器启动的时候指定容器运行命令。

CMD指定,但是每个Dockerfile只能有一条CMD指令,如果指定了多条CMD指定,只有最后一条会被执行。

解决docker容器启动后马上退出的问题(docker容器崩溃后自动重启)

于是就想了一个办法,在写了一个脚本,在脚本里面启动多个进程,在Dockerfile里运行这个脚本。

最后证明这个方法是可行的,在实验过程中遇到一个问题,容器启动后会马上停止。

经查阅资料:

Docker容器同时只能管理一个进程,如果这个进程退出那么容器也就退出了,但这不表示容器只能运行一个进程(其他进程可在后台运行),但是要使容器不退出必须有一个前台执行的进程。

解决方法:

脚本中最后一个进程一定要用前台运行方式即在进程最后不加&(&表示后台运行),否则容器会退出。

补充知识:在docker容器中使用gdbserver发生的问题及解决办法

在docker容器中使用gdbserver时遇到一个问题

linux_ptrace_test_ret_to_nx: Cannot PTRACE_TRACEME:operation not permmit

原因是Docker默认禁用PTRACE功能,需要在容器运行时开启。

docker run -ti --cap-add=SYS_PTRACE ubuntu

上一篇:十大跨境电商erp排名?电商的发展趋势?(外贸电商erp系统排行榜)
下一篇:云数据库集群是什么?(服务器集群和数据库集群)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~