Chcę odrodzić 3 usługi w sieci „host” za pomocą docker-compose. Oto mój plik docker-compose.yml:
version: '2'
services:
mysql:
image: mysql
net: "host"
nginx:
image: nginx
net: "host"
app:
image: tomcat
net: "host"
Otrzymałem następujący błąd:
$ docker-compose up
[31mERROR[0m: Validation failed in file '.\docker-compose.yml', reason(s):
Unsupported config option for services.app: 'net'
Unsupported config option for services.mysql: 'net'
Unsupported config option for services.nginx: 'net'
Używam boot2docker w systemie Windows.
Wersja Docker i Docker-Compose:
$ docker -v
Docker version 1.10.2, build c3959b1
$ docker-compose -version
docker-compose version 1.6.0, build cdb920a
Jeśli uruchamiam wszystkie usługi ręcznie, docker run --net = "host"
wszystko działa dobrze.
W dokumentacji przeczytałem, że polecenie net jest obsługiwane w docker-compose :
netto
Tryb sieciowy. Użyj tych samych wartości, co parametr docker client --net.
net: "bridge"
net: "none"
net: "container: [nazwa lub identyfikator]"
net: "host"
https://docs.docker.com/v1.6/compose/yml/#net
Co ja robię źle?
docker
docker-compose
boot2docker
Benoit Wickramarachi
źródło
źródło
network_mode: "host"
. Jak udokumentowano w docker compose w wersji 3 #network_mode .Odpowiedzi:
Te dokumenty są nieaktualne. Zgaduję, że 1.6 w adresie URL jest dla Dockera 1.6, a nie dla Compose 1.6. Sprawdź poprawną składnię tutaj: https://docs.docker.com/compose/compose-file/#network_mode . Szukasz
network_mode
podczas korzystania z formatu YAML v2.źródło
network_mode: host
nie będzie działać naPo prostu wydrukuj
network_mode: "host"
źródło
network_mode: host
nie będzie działać na dockerze dla Macamożesz spróbować po prostu dodać
przykład:
dostępna opcja listy
https://docs.docker.com/compose/compose-file/#network_mode
źródło
Może odpowiadam bardzo późno. Ale miałem też problem z konfiguracją sieci hosta w docker compose. Potem dokładnie przeczytałem dokumentację, wprowadziłem zmiany i zadziałało. Należy pamiętać, że ta konfiguracja jest przeznaczona dla wersji Docker-Compose „3.7”. Tutaj einwohner_net i elk_net_net to moje sieci zdefiniowane przez użytkownika wymagane dla mojej aplikacji. Używam sieci hosta, aby uzyskać metryki systemowe.
Link do dokumentacji https://docs.docker.com/compose/compose-file/#host-or-none
źródło
usuń opcję warn config dla services.app: 'net', będzie działać.
źródło