Iniciar un contenedor de docker automaticamente al reiniciar
Es posible iniciar imagenes de Docker de una forma muy sencilla con simplemente ejecutar un docker start contenedor, pero al tener un servicio ya en un servidor productivo al reiniciarse vamos a querer que este inicie automaticamente.
Para hacer esto con systemd(algunos lo odian, otros lo aman y otros tantos simplemente trabajan con el) es necesario crear un archivo y enviarlo a la carpeta /etc/systemd/system/ y habilitarlo.
Aquí muestro un ejemplo con un contenedor llamado nexus
Contenido del archivo :
[Unit]
Description=Nexus container
Requires=docker.service
After=docker.service
[Service]
Restart=always
ExecStart=/usr/bin/docker start -a nexus
ExecStop=/usr/bin/docker stop -t 2 nexus
[Install]
WantedBy=default.target
Comandos a ejecutar:
Creamos el archivo:
touch docker-nexus.service
Lo abrimos con nano y pegamos el contenido de arriba ya personalizado:
nano docker-nexus.service
copiamos el archivo a la carpeta especial de systemd:
sudo cp docker-nexus.service /etc/systemd/system/
Lo habilitamos:
systemctl enable docker-nexus.service
Al reiniciar nuestor SO debería de levantarse automaticamente nuestro contenedor.