127 votos

¿Cómo inicio automático de ventana acoplable contenedores en el arranque del sistema?

Lo que es una buena manera para iniciar automáticamente la ventana acoplable contenedores cuando se inicia el sistema?

Hay una mejor manera de hacer esto en Ubuntu 14.04?

He usado supervisord en el pasado para inicio automático de aplicaciones web. Pero que no se siente como lo correcto para la ventana acoplable.

153voto

aknuds1 Puntos 332

Al parecer, el actual método de auto-inicio de contenedores Docker (desde la ventana acoplable 1.2) es el uso de directivas de reinicio. Controla cómo ventana acoplable debe manejar a partir de que el contenedor en el inicio y la reanudación del recipiente cuando se sale. He usado la opción "siempre" hasta ahora, y puedo confirmar que esto hace que la ventana acoplable auto-iniciar el contenedor en el arranque del sistema:

sudo docker run --restart=always -d myimage

Documentación Extracto

Reiniciar las Políticas de Uso de la --reiniciar la flag en la ventana acoplable ejecución puede especificar una directiva de reinicio de cómo un contenedor que debe o no debe reinicia en la salida.

no - Do que no se reinicie el contenedor cuando sale de la misma.

en el fallo - Reiniciar el contenedor, si sale con un cero estado de salida.

siempre reiniciar Siempre el contenedor, independientemente del estado de salida.

También puede especificar la cantidad máxima de veces ventana acoplable intentará reinicie el contenedor cuando se utiliza la en-el fracaso de la política. El valor predeterminado es que la ventana acoplable intentará siempre que reiniciar el contenedor.

$ sudo docker run --restart=always redis

Esto ejecutará la redis envase con un reinicio de la política de siempre, de modo que si el contenedor salidas, ventana acoplable se reinicie.

$ sudo docker run --restart=on-failure:10 redis

Esto ejecutará el redis contenedor con un reinicio de la política de fracaso y un máximo de reiniciar el conteo de 10. Si la redis contenedor se cierra con una salida distinto de cero estado más de 10 veces en una fila de la ventana acoplable terminará tratando de reiniciar el contenedor. Proporcionar un máximo de reiniciar límite sólo es válido para el en el fracaso de la política.

10voto

Ventana acoplable tiene esta página que explica cómo hacerlo con upstart y systemd. Estoy de acuerdo en que no parece lo correcto para la ventana acoplable. Su solución es ejecutar docker start, lo que supone que ya has creado el contenedor. Me gustaría pensar que te gustaría hacer docker run --rm en el arranque del script (tratarla como a un nuevo proceso y envase de una imagen), o simplemente dejar que la ventana acoplable reinicio del demonio de los contenedores de sí mismo en el arranque (ya que por defecto si usted no hace nada más). Upstart tiene la ventaja de que permite un fácil arranque/parada de los procesos, pero que con ventana acoplable a empezar/detener demasiado!

Creo que es extraño para obligar al usuario a crear manualmente un contenedor (con todo el puerto correcto/volumen de enlaces) antes de que el arranque del script funciona.

6voto

EEAA Puntos 66011

Pero que no se siente como lo correcto para la ventana acoplable.

¿Por qué no?

Yo uso supervisord con gran éxito.

Usa lo que sabes, usar lo que funciona, usar algo que se puede mantener fácilmente y entender.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X