Para ello, necesitarás primero añadir una configuración para tu VPN, la cual colocaremos en /etc/openvpn/guybrush.conf. No es el propósito de esta entrada hablar de cómo configurar OpenVPN, así que supondremos que ya sabes sacar eso.

Tan solo con colocar ahí ese fichero, Systemd se dará cuenta y nos creará el servicio openvpn@guybrush.service. Normalmente, al arrancarlo nos creará una nueva interfaz de red llamada tun0.

Ahora vamos a crear una extensión a docker.service, y para eso crearemos el fichero /etc/systemd/system/docker.service.d/guybrush.conf con este contenido:

[Unit]
After=sys-devices-virtual-net-tun0.device
Requires=openvpn@guybrush.service sys-devices-virtual-net-tun0.device

Esto añade estas configuraciones a la que traiga por defecto el servicio Docker, y básicamente le dice que antes de arrancar Docker arranque la VPN guybrush, y espere a tener tun0 disponible.