Устаревшее приложение Windows на VC ++, образ Docker создан. Проблема при развертывании приложения в Docker Swarm с помощью команды Docker Service Create

Я использую Docker в Windows 10 версии 1903. У меня есть устаревшее приложение Windows на VC ++. Я создал Docker-образ приложения и отправил его в реестр dockerhub. Я создал Docker Swarm с 1 диспетчером и 2 рабочими узлами. Я пытаюсь развернуть приложение в Docker Swarm с помощью команды docker service create, но отображается следующая ошибка: 1/1: нет подходящего узла (неподдерживаемая платформа на 3 узлах)

Я уже успешно создал рой докеров с помощью следующей командной строки: docker-machine create -d hyperv --hyperv-virtual-switch myswitch nodename Установить узел диспетчера.

С помощью следующей команды я пытаюсь создать службу на узле диспетчера роя докеров: docker service create --network myoverylaynet --endpoint-mode dnsrr --name servicename dockerimage

Можно ли развернуть приложение Windows (без графического интерфейса пользователя) на узле диспетчера роя докеров или можно развернуть только приложения Linux? Как я могу развернуть свое приложение Windows в Docker Swarm?


person InfoUser    schedule 11.06.2019    source источник


Ответы (1)


Я считаю, что докер-машина создает виртуальную машину Linux, а не виртуальную машину Windows. Если вы используете Win10, прочтите это сообщение в блоге о том, как создать Swarm:

https://stefanscherer.github.io/docker-swarm-mode-windows10/ < / а>

person Frank Louwers    schedule 11.06.2019
comment
Спасибо @Frank за быстрый ответ. Если я создам такую ​​же среду на сервере Windows 2016 1607, можно ли запускать узлы Windows на Docker Swarm? Есть ли какой-нибудь особый Swarm для Windows VM, на котором могут запускаться контейнеры Windows? Пожалуйста, дай мне знать. - person InfoUser; 12.06.2019
comment
Есть, если вы используете Docker EE. Для CE: я не уверен, что Docker Desktop на Win позволяет создавать рой. Вам нужно будет проверить, установив Docker Desktop и запустив рой в диспетчере с помощью docker swarm init - person Frank Louwers; 12.06.2019
comment
Я тестировал Docker для Windows CE. docker swarm init на управляющем узле с 2 рабочими узлами. Работает как часы. В Docker Swarm контейнеры обмениваются данными через Overlay-сеть, которая является изолированной сетью. Есть ли способ, которым контейнеры могут взаимодействовать с хост-сетью? В Linux есть опция docker service create --network host. Как общаться с сетью Host из контейнеров? Есть ли выход? Пожалуйста, дай мне знать. Заранее спасибо. - person InfoUser; 03.07.2019