2015-03-16 32 views
26

Używam docker-compose do uruchomienia środowiska testowego, które składa się z około 5 różnych kontenerów. Łącza między kontenerami i udostępnione woluminy (woluminy z) działają wspaniale. Udostępniam także niektóre porty do hosta, który działa ładnie.Używanie --add-host lub extra_hosts z docker-compose

To, czego mi brakuje, to sposób na połączenie niektórych moich prawdziwych serwerów z tym środowiskiem, bez adresu twardego dysku twardego. Dzięki docker run możesz użyć --add-host, aby dodać kolejną linię do pliku /etc/hosts. Czy jest jakiś sposób na zrobienie czegoś podobnego przy użyciu funkcji docker-compose?

Odpowiedz

27

Mam wspaniałe wiadomości: to będzie w Compose 1.3!

Używam go w obecnej RC (RC1) tak:

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

Jest to w backlogie funkcji do tworzenia, ale wygląda na to, że prace jeszcze się nie rozpoczęły. Github issue.

23

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

extra_hosts - Dodaj mapowania hosta. Używa tych samych wartości, co parametry klienta docker --add-host.

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

Wpis z adresem IP i nazwę hosta zostanie utworzony w/etc/hosts wewnątrz pojemników dla tej usługi, np:

162.242.195.82 somehost 
50.31.209.229 otherhost 
+4

nie jest obsługiwany w budowie – expelledboy

+1

Łącze wydaje się być uszkodzony . Oto poprawny: https://docs.docker.com/compose/compose-file/#extra_hosts –

+1

Jak mogę odwzorować nazwę zewnętrzną (nie IP) na alias kontenera? –