Running services (upstart/init.d) in a container

前端 未结 2 1820
面向向阳花
面向向阳花 2021-01-04 22:23

I\'m trying to launch a system in docker that has many init and upstart services and I get this error.

initctl: Unable to connect to Upstart:
Failed to conne         


        
相关标签:
2条回答
  • 2021-01-04 22:37

    Unfortunately, upstart does not work inside of a docker container because they do some magic with the init system.

    This issue explains:

    If your application uses upstart, this wont fit well in bare docker images, and even more if they divert /sbin/init or /sbin/initctl to something like /bin/true or /dev/null. You application may use service to start if this one has an old school systemV initscript and if the initctl command has not been diverted.

    In the case of salt-minion, on ubuntu the packaging uses an upstart job and no classical init script so it is normal that it wont start in both cases.

    And this one says:

    Because Docker replaces the default /sbin/init with its own, there's no way to run the Upstart init inside a Docker container.

    0 讨论(0)
  • 2021-01-04 22:49

    You should definitely be able to do that. It's really not the way "Docker Way" but it's very possible. You might want to consider simply using the phusion/baseimage base image, it's got support for runit built in. If you'd rather use upstart just look at how they've implemented the entrypoint, /sbin/myinit, and follow that.

    0 讨论(0)
提交回复
热议问题