Saltar al contenido

¿Cómo hago que un contenedor Docker se inicie automáticamente al arrancar el sistema?

Solución:

Si desea que el contenedor se inicie incluso si ningún usuario ha realizado un inicio de sesión (como la VM VirtualBox que solo inicio y no quiero iniciar sesión cada vez). Estos son los pasos que realicé para Ubuntu 16.04 LTS. Como ejemplo, instalé un contenedor de base de datos de Oracle:

$ docker pull alexeiled/docker-oracle-xe-11g
$ docker run -d --name=MYPROJECT_oracle_db --shm-size=2g -p 1521:1521 -p 8080:8080 alexeiled/docker-oracle-xe-11g
$ vim /etc/systemd/system/docker-MYPROJECT-oracle_db.service

y agregue el siguiente contenido:

[Unit]
Description=Redis container
Requires=docker.service
After=docker.service

[Service]
Restart=always
ExecStart=/usr/bin/docker start -a MYPROJECT_oracle_db
ExecStop=/usr/bin/docker stop -t 2 MYPROJECT_oracle_db

[Install]
WantedBy=default.target

y habilitar el servicio al inicio

sudo systemctl enable docker-MYPROJECT-oracle_db.service

Para más información https://docs.docker.com/engine/admin/host_integration/

Sí, Docker tiene políticas de reinicio como docker run --restart=always que se encargará de esto. Esto también está disponible en el archivo de configuración compose.yml como restart: always.

La política de reinicio predeterminada es no.

Para el uso de contenedores creados docker update para actualizar la política de reinicio.

docker update --restart=always 0576df221c0b

0576df221c0b es el ID del contenedor.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *