Nei*_*ill 9 init upstart docker
我正在尝试在docker中启动一个具有许多init和upstart服务的系统,我得到了这个错误.
initctl: Unable to connect to Upstart:
Failed to connect to socket /com/ubuntu/upstart: Connection refused
Run Code Online (Sandbox Code Playgroud)
所有的解决方法建议与/ bin/true建立硬链接以使错误无效.但是我需要将这些服务由upstart管理,以实现restart-ability和upstart发出事件才能工作......
因为似乎docker不支持这个,我正在考虑编写脚本以启动/etc/rcX.d中的所有服务并跟踪PID的严重破解.这并不能解决来自暴发户的缺乏发射事件的问题.
有关如何在docker中启动新手进程的任何其他想法?
小智 12
不幸的是,upstart在docker容器中不起作用,因为它们对init系统有些神奇.
这个问题解释了:
如果你的应用程序使用upstart,这不适合裸坞坞映像,如果它们将/ sbin/init或/ sbin/initctl转移到/ bin/true或/ dev/null之类的东西,那就更好了.如果此应用程序具有旧的学校systemV initscript并且initctl命令尚未转移,则应用程序可以使用服务启动.
在salt-minion的情况下,在ubuntu上,包装使用了一个upstart作业而没有经典的init脚本,因此在两种情况下它都不会启动是正常的.
而这其中说:
因为Docker用它自己替换了默认的/ sbin/init,所以无法在Docker容器中运行Upstart init.
你绝对应该能够做到这一点。这确实不是“Docker Way”的方式,但很有可能。您可能想考虑简单地使用phusion/baseimage基础映像,它支持runit内置。如果您想使用,upstart只需看看他们如何实现入口点,/sbin/myinit然后遵循即可。
| 归档时间: |
|
| 查看次数: |
13917 次 |
| 最近记录: |