我試圖將一個memcache服務器和一個mongo服務器鏈接到我的web服務器,但是我已經使用localhost作爲它們的主機名。所以我想把它們作爲本地主機。使用docker-compose將多個docker容器鏈接到一個使用別名localhost的容器
我做這個 -
webserver:
build: ./webserver
ports:
- "127.0.0.1:80:80"
volumes:
- /var/www/html:/var/www/html
links:
- memcachedserver:localhost
- mongoserver:localhost
但
docker exec -it acb51XXXX081 bash
和
cat /etc/hosts
我得到這個 -
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.2 adocker_memcachedserver_1 4a11d0cb3126
172.17.0.2 localhost 4a11d0cb3126 adocker_memcachedserver_1
172.17.0.2 memcachedserver_1 4a11d0cb3126 adocker_memcachedserver_1
172.17.0.3 adocker_mongoserver_1 a505d8de4736
172.17.0.3 mongoserver_1 a505d8de4736 adocker_mongoserver_1
01進入Web服務器後
只有memcache服務器獲取別名localhost,而不是mongo服務器。
我手動添加localhost到mongo的條目後,它開始工作很好。
172.17.0.3 localhost adocker_mongoserver_1 a505d8de4736
但我想在泊塢窗,compose.yml文件
任何想法自動做到這一點?
我不確定你可以使用相同的別名來引用2個不同的容器 – OttavioMonzione
那麼你能推薦任何方式來實現我在這裏? – xRahul