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: "true"

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)

Kommentar verfassen