¿Que necesitamos como pre-requisito?
- Servidor Linux. En mi caso tengo CentOS
- Docker instalado
- Contenedor ya creado. En mi caso tengo Jenkins con un volumen montado directamente del sistema Host
Manos a la obra!!
Para lograr esto utilizaremos systemd.
Se debe crear en la ruta /etc/systemd/system/ un archivo descriptor de servicio y luego habilitarlo.
- Creamos un archivo de servicio, en esta caso lo llamaremos docker-jenkins.service
touch docker-jenkins.service
Editamos este archivo con nuestro editor favorito (mi caso vi) y escribimos el servicio con el siguiente formato:
[Unit]
Description=Jenkins container
Requires=docker.service
After=docker.service
[Service]
Restart=always
ExecStart=/usr/bin/docker start -a jenkins
ExecStop=/usr/bin/docker stop -t 2 jenkins
[Install]
WantedBy=default.target
Finalmente, habilitamos el servicio en el sistema operativo
systemcl enable docker-jenkins.service