Iniciar un contenedor de docker automaticamente al reiniciar
Es posible iniciar imágenes 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 automáticamente.
Para hacer esto con systemd (algunos lo odian, otros lo aman y otros tantos simplemente trabajan con él), 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 automáticamente nuestro contenedor.