Запуск нескольких независимых Docker-демонов в Windows с изоляцией Hyper-V и LCOW

Я пытаюсь запустить несколько Docker-демонов, настроенных для запуска контейнеров с изоляцией Hyper-V и LCOW на одном компьютере с Windows 10. Мне удалось настроить демонов для управления их собственными файлами данных, но я все еще изо всех сил пытаюсь получить чистую конфигурацию сети.

Когда запускается первый демон, он связывается с локальной сетью "nat" для разрешения DNS. Когда запускается второй демон, он пытается подключиться к той же сети "nat", а затем терпит неудачу, поскольку порт 53 уже используется первым демоном.

ERRO [2019-02-15T15: 50: 58.194988300Z] Установка / запуск резолвера завершилась неудачно для контейнера nat, "ошибка при открытии прослушивания сокета сервера имен UDP 172.18.64.1:53: bind: только одно использование каждого адреса сокета (протокол / сеть") адрес / порт) обычно разрешается. " Контейнеры, запущенные этим демоном, не могут выполнять разрешение имен. Доступ через IP по-прежнему работает нормально.

Вот конфигурация dockerd, которую я сейчас использую:

{
  "registry-mirrors": [],
  "insecure-registries": [],
  "bridge": "mydaemon1",
  "data-root": "C:\\Users\\myuser\\Desktop\\Docker\\Docker",
  "deprecated-key-path": "C:\\Users\\myuser\\Desktop\\Docker\\Docker\\config\\key.json",
  "debug": true,
  "exec-root": "C:\\Users\\myuser\\Desktop\\Docker\\Docker\\exec-root",
  "exec-opts": [
    "isolation=hyperv"
  ],
  "experimental": true,
  "group": "mydaemon-docker",
  "hosts": [
    "npipe:////./pipe/mydaemon1_engine"
  ],
  "pidfile": "C:\\Users\\myuser\\Desktop\\Docker\\Docker\\docker.pid",
  "storage-opts": [
    "lcow.kirdpath=C:\\Users\\myuser\\Desktop\\Docker\\server\\resources",
    "lcow.kernel=lcow-kernel",
    "lcow.initrd=lcow-initrd.img"
  ]
}

Я пытался настроить bridge конфигурация, но это ничего не изменило. Демон всегда пытается подключиться к nat сеть. Похоже, единственное поддерживаемое значение none, который удаляет стандартное eth0 в контейнерах и любую поддержку DNS.

Можно ли настроить сеть, используемую для разрешения DNS, т.е. nat Вот?
В идеале я хочу, чтобы у демона был свой nat сеть.

Я знаю, что это невозможно сделать в Docker для Windows, в то время как использование MobyVM в качестве WinNAT, которое используется в этом случае, не поддерживает его.
При использовании изоляции Hyper-V и LCOW кажется, что WinNAT больше не используется, так как Get-NetNat не возвращает конфигурацию сети NAT, несмотря на то, что DNS работает правильно. Я не уверен, что я прав в чем-либо, возможно ли это, даже если применяется любое другое ограничение Windows...

0 ответов

Другие вопросы по тегам