porque o docker não está executando o init como lxc

1

O 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. Desde que o Docker está usando o lxc porque ele não está executando o init. Quais são as vantagens de não executar o init e depender do supervisord para daemonização?

    
por kalyan 19.12.2013 / 14:21

2 respostas

1

O Docker é um contêiner de aplicativos , mais focado na distribuição de aplicativos como contêineres. Neste aplicativo / processo em execução dentro , o contêiner é o único em execução, seu processo de inicialização. Se o seu processo precisar de mais aplicativos (banco de dados mysql, mongodb, etc.), você não os inicia dentro do contêiner do Docker gerenciado por um dos daemon do init, você ativa mais contêineres do Docker, todos dentro do contêiner docker.

Você pode tentar o link que fornece um simples daemon de inicialização para executar mais processos dentro da imagem do docker (este é Baseado no Ubuntu) ou você pode tentar o link do LXD para a tecnologia de contêiner usada mais como um contêiner do sistema .

    
por 28.12.2015 / 03:19
1

Esta questão foi levantada como um problema no GitHub e uma solicitação pull foi mesclada para permitir init para ser executado desde 0.6.x):

docker run $IMAGE /sbin/init

fonte

O motivo original pelo qual o init não foi executado (não é válido desde 0.6.x ):

when starting a new container, docker mint-bounds itself as /sbin/init inside the container, hiding the real /sbin/init and in the proces smaking it unavailable for execution.

Esta resposta pode oferecer mais ajuda e O Docker Guidebook pode ser útil.

    
por 19.12.2013 / 14:32