2017-01-06 1 views
1

Есть ли способ установить имя машины для контейнеров с использованием docker-compose?Установить имя машины для docker-compose

я должен был бы начать N контейнеров, которые должны иметь предсказуемое название машины (контейнеры для Windows под управлением Windows Server 2016):

  • myname1
  • MyName2
  • ...
  • MyNameN

Это требуется для тестирования системы с большим количеством клиентов. Возможно ли вручную запустить контейнеры (docker-run) через сценарий альтернативное решение? В любом случае, вопрос по-прежнему how can I manually set the machine name (if it is possible)

+0

Что вы подразумеваете под "машинным именем": название контейнера? – molivier

+0

Я имею в виду значение, которое содержится в переменной среды Windows «Имя_компьютера». Я не уверен, какое значение из контейнера сопоставляется с этой переменной. – fra

+0

Хорошо. Я понимаю. Что представляет собой текущее 'имя_компьютера ', когда вы запускаете файл компоновки docker? – molivier

ответ

1

В вашем контейнере Windows используется идентификатор контейнера в качестве имени хоста.

Вы можете определить имя машины, добавив параметр hostname docker.

Внутри вашего docker-compose.yml:

version: '2' 
services: 
    web: 
    image: ubuntu 
    hostname: MyName 

Это также работает с Докер запустить команду:

docker run -it --hostname MyName ubuntu /bin/bash 

Чтобы иметь уникальное имя хоста для каждой машины, вы должны определить несколько Докер-Compose файлы или множественным услуги внутри уникального докера. Вы также можете выполнить цикл с помощью команды запуска:

#!/bin/bash 
for i in {1..5} 
do 
    docker run -d --hostname test$i ubuntu 
done