docker with routed subnetz
Aloha,
mal wieder was zu docker, dieses mal mit gerouteten public subnetzen (weil’s geht)
umgebungs dingends
- ubuntu 14.04 oder 16.04
- docker 1.11.1
- docker-compose
in die /etc/network/interfaces
ein neues virtuelles device (oder hinter einer bridge, macht keinen unterschied)
auto eth0:1
iface eth0:1 inet static
address xyz.10.abc.def
netmask 255.255.255.248
broadcast xyz.10.abc.def
nun noch die docker-compose.yml
version: '2'
services:
nginx:
image: nginx:latest
restart: always
ports:
- 443:443
networks:
- docker-subnet-1
networks:
docker-subnet-1:
driver: bridge
driver_opts:
com.docker.network.bridge.host_binding_ipv4: xyz.10.abc.def
com.docker.network.bridge.enable_ip_masquerade: true
com.docker.network.bridge.enable_icc:
was das macht: 1) erstellt eine neues bridge interface 2) gibt diesem bridge interface ein privates 172.x/16 subnetz (normalerweise ein subnetz weiter als docker0) 3) legt alles was an dem “docker-subnetz-1” hängt dahinter als wäre es eine normale docker installation (mit eigenen docker iptables etc)