Docker não está executando o init. Portanto, os serviços não são iniciados durante a inicialização. Lxc executa o init durante o lxc-start. Como o Docker está usando o lxc, por que não está executando o init. Quais são as vantagens de não executar o init e depender do supervisor para daemonização?
Responder1
Docker é umcontêiner de aplicativo, mais focado em distribuir aplicativos como contêineres. Neste o aplicativo/processo em execuçãodentroo contêiner é o único em execução, seu processo init. Se o seu processo precisar de mais aplicativos (mysql, banco de dados mongodb, etc.), você não os inicia dentro do contêiner do docker gerenciado por um daemon init, você inicia mais contêineres do docker, cada um dentro do contêiner do docker.
Podes tentarhttp://phusion.github.io/baseimage-docker/que fornece um daemon init simples para executar mais processos dentro de sua imagem docker (este é baseado no Ubuntu) ou você pode tentar o LXDhttp://www.ubuntu.com/cloud/lxdpara a tecnologia de contêineres usada mais como umcontêiner do sistema.
Responder2
Esta questão foi levantada comoemitirno GitHub, e uma solicitação pull mesclada para permitir init
a execução desde 0.6.x):
docker run $IMAGE /sbin/init
A razão original pela qual o init não foi executado (não é válido porque0.6.x):
ao iniciar um novo contêiner, o docker mint se limita a /sbin/init dentro do contêiner, ocultando o /sbin/init real e no processo tornando-o indisponível para execução.
Esta respostapode oferecer mais ajuda, eO Guia do Dockerpode ser útil.