Как отправить имя хоста и / или IP-адрес в собственный контейнер, используя переменные окружения - PullRequest
0 голосов
/ 27 июня 2018

В настоящее время я использую docker в режиме роя и хочу отправить имя хоста и / или IP-адрес контейнера в указанный контейнер с помощью переменных среды.

version: "3"
services:
  test:
    image: someimage
    deploy: 
      replicas: 2
      restart_policy:
        condition: on-failure
    environment:
      - HOSTNAME=test
    networks:
      - my-network
networks:
  my-network:
    external:
      name: my-network

Я пытался использовать приведенный выше пример, но он не работает. Цель состояла в том, чтобы каждая реплика имела свое собственное имя хоста и / или IP-адрес. Как мне этого добиться?

1 Ответ

0 голосов
/ 27 июня 2018

У каждого контейнера есть имя хоста, совпадающее с его коротким идентификатором, который уже установлен как переменная HOSTNAME в контейнере.

Если вы пытаетесь получить доступ к репликам напрямую из других контейнеров в этой докерной сети, вы можете использовать задачи обратного просмотра (nslookup, dig). чтобы получить список IP-адресов (которые вы не должны жестко кодировать в конфигурации или создавать файлы)

Если вы хотите внедрить имя хоста в служебные задачи, вы можете использовать шаблоны в compose .

...