2016-05-29 4 views
0

У меня очень простое приложение с двумя контейнерами, 1 работает с Tomcat другим Redis. Я пытаюсь использовать docker-compose, но связь между контейнерами не работает.Ссылки не создаются между контейнерами

Если я просто бегу с приведенными ниже командами, все радуют.

docker run -d --name db redis 
docker run -d -P --name web --link db web 

Когда я пытаюсь использовать нижний файл docker-compose.yml, между контейнерами нет никакой связи.

version: '2' 
services: 
    web: 
    image: web 
    links: 
    - redis 
    ports: 
    - "8080:8080" 
redis: 
    image: redis 

Нет переменных среды, созданных с использованием docker-compose, и файл/etc/hosts не обновляется.

Я озадачен, так как это буквально копия нескольких примеров, которые я нашел на многих сайтах, включая docker.com. Любая помощь будет принята с благодарностью.

ответ

2

В версии 2 из сочинения вам не нужны ссылки. Вы должны иметь возможность подключиться к контейнеру redis, просто ссылаясь на имя хоста redis. Он не отображается в переменных среды или/etc/hosts, так как сеть теперь является первоклассной функцией в докере, и вместо этого она использует встроенное разрешение DNS.

С момента появления новой сетевой модели каждый контейнер запускается в сети (default по умолчанию, по умолчанию) и может связываться друг с другом, используя их сервис или имя контейнера.

+0

Ах, спасибо большое. Просто проверяйте вещи, и это работает как шарм. –

Смежные вопросы