Я пытаюсь связать сервер memcache и сервер mongo с моим веб-сервером, но у меня есть локальный хост как имя хоста для всех. Поэтому я хочу связать их как localhost.Связывание нескольких контейнеров докеров в одном контейнере с псевдонимом localhost с использованием docker-compose
Я делаю this-
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
Я получаю this-
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
Только сервер memcache получает псевдоним localhost, а не сервер mongo.
После того, как я вручную добавил localhost к записи mongo, он начал работать отлично.
172.17.0.3 localhost adocker_mongoserver_1 a505d8de4736
Но я хочу сделать это автоматически в Докер-compose.yml файл
Любые идеи?
Я не уверен, что вы можете использовать один и тот же псевдоним, чтобы ссылаться на 2 разных контейнера. – OttavioMonzione
Тогда вы можете порекомендовать любой способ достичь того, что у меня есть? – xRahul