2015-03-16 10 views
26

Ich verwende docker-compose, um eine Testumgebung auszuführen, die aus etwa 5 verschiedenen Containern besteht. Die Inter-Container-Links und die freigegebenen Volumes (Volumes-from) funktionieren wunderbar. Ich stelle auch einige Ports dem Host-Rechner zur Verfügung, was gut funktioniert.Verwendung von --add-host oder extra_hosts mit docker-compose

Was ich vermisse ist eine Möglichkeit, einige meiner realen Server in diese Umgebung zu verbinden, ohne die IP-Adresse fest zu codieren. Mit docker run können Sie --add-host verwenden, um eine weitere Zeile in Ihrer /etc/hosts Datei hinzuzufügen. Gibt es eine Möglichkeit, etwas Ähnliches mit Docker-Compose zu tun?

Antwort

27

Ich habe gute Neuigkeiten: das wird in Compose 1.3 sein!

Ich verwende es in der aktuellen RC (RC1) wie folgt aus:

rng: 
    build: rng 
    extra_hosts: 
    seed: 1.2.3.4 
    tree: 4.3.2.1 
1

Dies ist im Feature-Backlog für Compose, aber es sieht nicht so aus, als ob die Arbeit bereits gestartet wurde. Github issue.

23

https://docs.docker.com/compose/compose-file/#extra_hosts

extra_hosts - Zuordnungen von Hostnamen hinzufügen. Verwendet die gleichen Werte wie der Andock-Client -Add-Host-Parameter.

extra_hosts: 
- "somehost:162.242.195.82" 
- "otherhost:50.31.209.229" 

Ein Eintrag mit der IP-Adresse und Hostnamen in/etc/hosts in Containern für diesen Dienst, zB erstellt werden:

162.242.195.82 somehost 
50.31.209.229 otherhost 
+4

Nicht auf Build unterstützt scheint – expelledboy

+1

Der Link gebrochen werden . Hier ist der richtige: https://docs.docker.com/compose/compose-file/#extra_hosts –

+1

Wie kann ich einen externen Namen (keine IP) einem Container-Alias ​​zuordnen? –