systemd cómo ejecutar el servicio después de docker.service

systemd cómo ejecutar el servicio después de docker.service

Tengo un archivo de servicio que ejecuta un script de shell y el script debe ejecutarse después de iniciar la ventana acoplable. Esto es lo que probé, pero el script se inicia sin esperar el docker.service:

[Unit]
Description=network configuration service 
Requires=docker.service
After=docker.service

[Service]
WorkingDirectory=/etc/systemd/system/
Type=oneshot
ExecStart=/bin/bash netset.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Respuesta1

Este es el archivo de configuración de la unidad de servicio que tengo y que se ejecuta después de que docker.service esté activo, y también se vuelve a ejecutar cada vez que se reinicia docker.service:

[Unit]
Description=Floating IP
After=docker.service
BindsTo=docker.service
ReloadPropagatedFrom=docker.service

[Service]
Type=oneshot
ExecStart=/usr/local/bin/floating-ip.sh
ExecReload=/usr/local/bin/floating-ip.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Documentación de las opciones utilizadas:

El script ejecutado por este servicio agrega una regla SNAT de iptables para hacer que los contenedores Docker usen la dirección IP en eth0:1 en lugar de la predeterminada en eth0, es decir, persistir el enfoque enhttps://serverfault.com/a/686107.

información relacionada