Usar una IP de salida específica con Docker

Tengo 3 interfaces de red: docker0, eth0 y eth0:0 (otro).

    auto eth0      iface eth0 inet static      address 1.2.3.4      netmask 255.255.255.0      network 1.2.3.0      broadcast 1.2.3.255      gateway 1.2.3.254    auto eth0:0      iface eth0:0 inet static      address 5.6.7.8      netmask 255.255.255.255      broadcast 5.6.7.8

docker0 es el auto puente creado por docker.

¿Cuál es la forma más fácil de hacer que Docker y todos sus contenedores usen la IP de salida 5.6.7.8 en lugar de 1.2.3.4?

Parece que no hay una manera fácil de hacerlo con Docker, al menos por el momento.

Lo que terminé haciendo es simplemente usar SNAT:

 iptables -t nat -I POSTROUTING -p all -s 172.17.0.0/16 -j SNAT --to-source 5.6.7.8

172.17.0.0/16 es la subred utilizada por docker0.

Utilice el parámetro de línea de comandos --ip.

# echo 'DOCKER_OPTS="$DOCKER_OPTS --ip=5.6.7.8"' >> /etc/default/docker# docker help...  --ip=0.0.0.0     Default IP address to use when binding container ports