Измените значение DNS сборки контейнера с помощью docker-compose в среде Docker Swarm.

Поздравляю всех с этим прекрасным началом 2017 года

У меня есть сборка приложения "микрослужба" с компоновкой докеров и оркестровкой с помощью docker Swarm в облаке службы контейнеров Azure. Версия Docker в Azure — 1.12.5.

Я настроил межсайтовую VPN, чтобы позволить некоторым приложениям подключаться к некоторым серверам, размещенным у нас. VPN-соединение работает как шарм. Я могу пропинговать частный DNS и другие серверы с виртуальной машины в облаке Azure. Что раздражает, так это то, что docker-compose не позаботился об определении другого DNS-сервера. В моей докере я определил IP-адрес нашего частного DNS и два IP-адреса общедоступного DNS Google:

version: '2'
services:
   myApp:
      build: something
      dns:
         - X.X.X.X
         - 8.8.8.8
         - 8.8.4.4

Как вы сомневаетесь, это не работает. /etc/resolv.conf myApp не содержит этих IP-адресов.

Я пытаюсь запустить myApp с помощью такой команды:

docker run myAppContainer –dns X.X.X.X …

И таким образом контейнер myApp использует, как я хочу, наш приватный DNS.

Я видел много сообщений, которые предлагают простое решение, редактируя значение по умолчанию для докера на хосте (/etc/default/docker). Но с настройкой, которая у меня есть в Azure, я не могу ничего изменить в виртуальных машинах, на которых размещен агент Swarm.

Итак, мне очень нужна ваша помощь.


person Waldo    schedule 02.01.2017    source источник


Ответы (1)


Когда мы создаем службу контейнеров Azure, Azure создает виртуальную машину Swarm Master с подсетью и агентом Swarm (с некоторыми виртуальными машинами) и собственной подсетью.

Итак, у нас есть две подсети, и если я хочу определить DNS, размещенный за VPN, Swarm Master и Swarm Agent должны иметь возможность использовать VPN. Docker не может разрешить имя хоста, если только один из них может использовать VPN.

Моя проблема заключалась в том, что только Swarm Agent имел доступ к VPN...

person Waldo    schedule 10.01.2017
comment
Спасибо, что ответили на ваш собственный вопрос :-) Если у вас в будущем возникнут вопросы, связанные со службой контейнеров Azure, отметьте их тегом «azure-container-service», чтобы привлечь к ним наше внимание (отказ от ответственности, я работаю в MS). Обратите внимание, что вы можете запрашивать функции (или даже предоставлять исправления) для параметров конфигурации на странице github.com/Azure/acs. -двигатель - person rgardler; 25.02.2017