2016-09-07 11 views
0

Ich brauche zwei Container laufen jeweils ein Skript auf einem bestimmten (öffentliche) IP (11.11.11.22 und 11.11.11.23) Bindung enthältAssign verschiedene IPs zu verschiedenen Docker Container

Gastgeber Docker sich auf 10.10.10.222 ist .

Ich habe das Subnetz 11.11.11.20/27, mein Gateway ist 11.11.11.21

Wenn es meine Server zählt bei Strato ist.

Andockfensters-compose.yml

version: '2' 
services: 
    nginx-0: 
    image: nginx:1.10 
    ports: 
     - 11.11.11.22:80:80 
    networks: 
     app_net: 
     ipv4_address: 11.11.11.22 

    nginx-1: 
    image: nginx:1.10 
    ports: 
     - 11.11.11.23:80:80 
    networks: 
     app_net: 
     ipv4_address: 11.11.11.23 

networks: 
    app_net: 
    driver: bridge 
    ipam: 
     driver: default 
     config: 
     - subnet: 11.11.11.20/27 
     gateway: 11.11.11.21 

IP einen


3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 
    inet 10.10.10.222/27 brd 10.10.10.223 scope global eth1 
     valid_lft forever preferred_lft forever 
    inet 11.11.11.22/32 brd 11.11.11.22 scope global eth1:0 
     valid_lft forever preferred_lft forever 
    inet 11.11.11.23/32 brd 11.11.11.23 scope global eth1:1 
     valid_lft forever preferred_lft forever 

ips Innenbehälter Andockfensters exec nginx-0 ip a

6: [email protected]: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 
    inet 11.11.11.22/27 scope global eth0 
     valid_lft forever preferred_lft forever 

Wenn ich die beiden IPs kräuseln erhalte ich eine "curl: (52) Leere Antwort vom Server"

Jede andere IP in meinem Bereich zurückkehren wird "auf Fehlgeschlagen verbinden ..."

Gibt es dafür eine Lösung?

Vielen Dank im Voraus! Dominik

+0

Die Standard-Firewall-Regeln für Docker erlauben nicht den externen Zugriff auf einen Container. Freigelegte Ports werden verwendet, um über die IP des Hosts auf einen Dienst zuzugreifen. Weitere Informationen finden Sie in der [Netzwerkdokumentation] (https://docs.docker.com/v1.8/articles/networking/). – BMitch

+0

Aber ich möchte an eine bestimmte IP innerhalb meines Containers binden, also ist das nicht wirklich mein Anwendungsfall. –

Antwort

1

Ich fand es heraus.

Ich musste die Schnittstelle auf dem Host entfernen.

ipconfig eth0:0 down 
ipconfig eth0:1 down 

ich entfernt es auch von den /etc/networking/Schnittstellen

Verwandte Themen