Machine: Подключиться к Windows Docker Engine

Созданный на 22 янв. 2016  ·  60Комментарии  ·  Источник: docker/machine

Кто-нибудь начал добавлять или думать о драйвере докер-машины и инициализаторе для движков Windows Docker?
Итак, кто-нибудь может использовать докер-машину для защиты и подключения к Windows Server 2016 TP4 так же просто, как мы используем для Linux Docker Engine?

Что-то вроде:

docker-machine create -d generic --generic-winrm-user "administrator" ... dev
docker-machine create -d azure --azure-username "administrator" --azure-winrm-port 5985 ... dev

Использование WinRM (HTTP / HTTPS) вместо SSH для доступа к удаленному серверу Windows Server и помещения в него сертификатов TLS, а также для перенастройки службы Windows Docker и других вещей.
Я знаю, что у упаковщика есть коммуникаторы для SSH и WinRM, встроенные в Go для обеспечения.
Просто соединяем точки ...

пинг @ahmetalpbalkan : улыбка:

arewindows kinenhancement

Самый полезный комментарий

Я выполнил инструкции @ jen20 по созданию Windows AMI с SSH. Он работает с Docker Machine до момента подготовки, когда происходит сбой из-за отсутствия файла /etc/os-release . Теперь, когда SSH в Windows доступен (с некоторыми усилиями), можем ли мы получить SSH-инициатор Docker Machine для Windows?

Все 60 Комментарий

Из-за того, как в настоящее время работает модель инициатора, реализация такой функции может быть не слишком сумасшедшей, хотя это потребует переосмысления или фиксации некоторых довольно фундаментальных предположений (например, наличия SSH).

У меня такое чувство, что это нужно будет реализовать с помощью некоторых флагов, которые конкретно указывают, что это машина с Windows. например, --generic-winrm-userpass .

Я мало что знаю о контейнерах Windows Server, однако, как сказал Натан, большая часть работы будет связана с получением протокола SSH в Windows либо путем ожидания того, что Microsoft сделает это (это происходит), либо путем предоставления полифилла с использованием WinRM, возможно (я не знаю как это вообще работает).

Я помню, что некоторые дискуссии об этом происходили и внутри компании. cc: @jstarks, поскольку он работает в команде контейнеров Windows.

Если вы думаете, что можете что-то прототипировать, я бы посоветовал сделать это.

Привет, @StefanScherer , я изучаю , как мы могли бы сделать это возможным. Одна из вещей, о которых мы думаем, - возможно, мы могли бы использовать это как ОС, которую могла бы использовать Docker Machine. Если мы будем использовать Nano, то он останется в виде небольшой загрузки. Репо для проекта Open SSH в Windows находится здесь .

Любые идеи приветствуются, и если вы собираетесь что-то прототипировать, дайте мне знать. Я продолжу писать сюда, если узнаю больше о том, как это работает.

Копия: @dgageot

@ enderb-ms О, изображение Nano, это тоже было бы здорово. И OpenSSH - тоже вариант. Тем временем другие проекты, такие как Packer и Vagrant, улучшили поддержку Windows, чтобы использовать WinRM и избавиться от SSH, чтобы иметь более естественную связь.

В качестве первого шага я подумал о том, чтобы докер-машина подключилась к серверу TP4, например. с универсальным драйвером.

Еще не пробовал драйвер azure, я думаю о выборе шаблона TP4 VM + docker engine в Azure, и тогда docker-machine знает, что нужно подготовить виртуальную машину Windows вместо виртуальной машины Linux. Достаточно сделать несколько минимальных шагов, чтобы подключить локальный компьютер, на котором работает docker-machine, с этим удаленным механизмом Docker.

Это шаги универсального драйвера, работающего на виртуальной машине Linux, на которой уже установлен Docker. Я добавил несколько идей для Windows:

  1. докер-машина подключается к удаленному IP-адресу
  2. проверьте версию ОС, если она может быть предоставлена ​​(cat / etc / os-release -> вместо этого получить некоторую информацию о Windows)
  3. обновить имя хоста?
  4. обновить / etc / hosts
  5. установить curl (не требуется для установки на хостах Windows)
  6. проверьте, установлен ли докер. Если не установил. (возможно, запустить весь Install-ContainerHost.ps1?)
  7. проверить версию докера
  8. создать каталог конфигурации докера (/ etc / docker ->% ProgramData% / docker)
  9. остановить службу докеров
  10. вставить ca.pem (Windows:% ProgramData% / docker / certs.d)
  11. вставить server.pem
  12. вставить server-key.pem
  13. напишите файл конфигурации докера (/ etc / default / docker, возможно, расширение% ProgramData% / docker / runDockerDaemon.cmd)
  14. запустить службу докеров
  15. netstat -an

Фаза 1:

Для Azure / local TP4 с предустановленным сценарием движка докеров:

Шаг 1.) он должен использовать WinRM (например, взглянуть на коммуникатор WinRM упаковщика) вместо SSH.

Шаг 2.) может проверить, все ли работает и виртуальная машина TP4. В противном случае прервите работу, если невозможно установить все, например, без перезагрузки.

Затем он должен выполнить шаги 9.) ... 14.), чтобы остановить докер, вставить сертификаты TLS и перезапустить докер. После этого докер-машина создала соединение с существующей виртуальной машиной Azure / локальной или локальной виртуальной машиной Windows и защитила порт докера.

Фаза 2:

Позже шаг 2.) можно было бы улучшить, чтобы разрешить «пустым» серверам 2016 устанавливать Docker на шаге 6.)

Фаза 3:

А затем иметь "boot2docker.iso" с Nano-образом для локальной загрузки.

Просто первые мысли ;-)

@dgageot , ты

@friism Уже ведется работа с @ enderb-ms

@dgageot отлично! Где я могу получить более подробную информацию?

@dgageot У меня есть изменение, которое позволяет

Краткое описание того, что я сделал

  1. Добавить поддержку раскрутки образа Windows.
  2. Использование образа TP4 для Windows server 2016 в Azure
  3. Раскрутите это. Я использую библиотеку https://github.com/Azure/azure-sdk-for-go вместо кода поставщика в https://github.com/docker/machine/tree/master/vendor/github.com/ MSOpenTech / azure-sdk-for-go , похоже, более старая версия.
  4. Используйте WinRM для подключения к экземпляру, установите docker-engine
  5. Выполните любые другие шаги. Я заметил, что сеть иногда портится, и необходимо настроить Vswitch.

cc @ahmetalpbalkan

@ppadala Удивительно

hawt

Спасибо @stefanfoulis @friism. Работа находится на https://github.com/containerx/machine , но она также включает некоторые другие изменения, не связанные с этим PR.

Я создаю новую ветку, код очистки и скоро отправлю запрос на перенос.

Я сделал запрос на включение, любые комментарии и отзывы приветствуются.

Есть еще пара жестко запрограммированных элементов, над которыми нужно работать, и я исправлю их в следующие несколько дней.

@ppadala действительно мило. Я думаю, что разработчики @ enderb-ms и docker-machine в настоящее время пытаются выяснить, следует ли им использовать WinRM или загрузочный OpenSSH в Windows. Я позволю этим людям решить, какую работу следует продолжить.

Что касается лазурного драйвера, я боюсь, что мы не сможем внести изменения в драйвер azure . Я только что переписал драйвер Azure с помощью стека Azure Resource Manager (это серьезное изменение). Подробности по адресу: https://github.com/docker/machine/issues/2742#issuecomment -189993875 в настоящее время мы решаем проблемы нестабильности в Azure SDK, как только это будет сделано, я отправлю PR для выпуска новой лазурной версии. Водитель.

@ppadala также важно, чтобы это, вероятно, не было просто изменением драйвера azure поскольку вскоре почти все облачные провайдеры будут иметь образы WS2016 и (при необходимости) докер-машине, вероятно, потребуется добавить эти специфичные для Windows флаги.

@ppadala действительно мило. Я думаю, что разработчики @ enderb-ms и docker-machine в настоящее время пытаются выяснить, следует ли им использовать WinRM или загрузочный OpenSSH в Windows. Я позволю этим людям решить, какую работу следует продолжить.

Я также рассматривал вариант SSH. Мне просто не понравился сервер Windows OpenSSH, который я пробовал, возникли проблемы с подключением к серверу из OS X. Тем не менее, я не пробовал все возможные серверы SSH, вы, ребята, знаете, лучше. С радостью присоединяюсь к обсуждению, дайте мне знать, где происходит обсуждение.

Что касается лазурного драйвера, я боюсь, что мы не сможем внести изменения в лазурный драйвер. Я только что переписал драйвер Azure с помощью стека Azure Resource Manager (это серьезное изменение). Подробности по адресу: # 2742 (комментарий) в настоящее время мы решаем проблемы нестабильности в Azure SDK, как только это будет сделано, я отправлю PR для выпуска нового драйвера azure.

Не беспокойтесь, изменение, которое я сделал, касается не только драйвера Azure, но и остальной части докер-машины, чтобы добавить опцию для ОС. Я попробую ваш код, размещенный на # 2742. Поддерживает ли код уже запуск образов Windows в Azure?

@ppadala также важно, чтобы это, вероятно, не было просто изменением драйвера Azure, поскольку вскоре почти все облачные провайдеры будут иметь образы WS2016 и (при необходимости) докер-машине, вероятно, потребуется добавить эти специфичные для Windows флаги.

Как я уже упоминал выше, мое изменение касается как драйвера Azure, так и остальных изменений докер-машины. Как мы будем действовать отсюда? Я могу подождать, пока изменения в вашем диспетчере ресурсов будут зафиксированы, и тогда мы сможем добавить в docker-machine специфичные для Windows флаги.

@ahmetalpbalkan Я проверил код, который вы разместили в # 2742. Насколько я понимаю, он переводит драйвер на использование API-интерфейсов ARM и не имеет поддержки образов Windows. Вот что я предлагаю

  1. Просмотрите и зафиксируйте свой код
  2. Добавить поддержку вращающихся образов Windows
  3. Добавьте инициатор Windows с помощью WinRM (или SSH, если мы согласны с этим), флагов и других изменений в ядре докер-машины.

Я сделал 2 и 3 с текущим драйвером, и я могу внести аналогичные изменения на основе вашего драйвера на базе ARM. Дайте мне знать, что вы думаете.

@ppadala звучит хорошо. если вы попытаетесь перебазировать свой код поверх моей ветки, вы можете разблокировать его и приступить к работе. С точки зрения функциональности новый драйвер готов, но мы все еще решаем некоторые проблемы в azure-sdk-for-go, и это может занять некоторое время (например, пару недель), и я отправлю конечный результат в виде запроса. запрос.

@ppadala, это
Одна из причин, по которой мы хотим использовать SSH, чтобы позволить разработчикам на других платформах (Linux и OS X) развертывать хосты контейнеров Windows в виртуальных машинах на своих локальных машинах или в облаке. Мы начали говорить о возможности включения OpenSSH в некоторые образы Azure, чтобы не потребовалось никаких дополнительных действий для добавления этой возможности. Не могли бы вы рассказать мне больше о проблемах, которые вы видели с OpenSSH?
Отмечаем @dgageot, у которого тоже были мысли о WinRM.
Опять же, это здорово, спасибо за это @ppadala

@ppadala, это
Одна из причин, по которой мы хотим использовать SSH, чтобы позволить разработчикам на других платформах (Linux и OS X) развертывать хосты контейнеров Windows в виртуальных машинах на своих локальных машинах или в облаке. Мы начали говорить о возможности включения OpenSSH в некоторые образы Azure, чтобы не потребовалось никаких дополнительных действий для добавления этой возможности. Не могли бы вы рассказать мне больше о проблемах, которые вы видели с OpenSSH?

Я настраивал https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH в качестве SSH-сервера. Когда я запускаю ssh <server> <cmd> с Mac, он, похоже, не работает, хотя простой интерактивный ssh ​​для сервера работает.

Если вы включаете SSH-сервер в образы Azure, это определенно чище. Интерфейс драйвера докер-машины уже, кажется, предполагает, что доступ по SSH доступен.

На самом деле эту библиотеку для связи с WinRM, верно? Вы знаете, работает ли это в Linux и Mac OS X?

На самом деле

Да, я использую упаковочную библиотеку. Он работает как в Mac OS X, так и в Linux.

@ppadala обсуждение ssh vs winrm очень интересно:

  • SSH хорош, потому что это означает, что машина всегда использует один и тот же протокол для связи с хостами (будь то Linux или Windows)
  • Winrm хорош тем, что не требует заклинивания нового / чужого программного обеспечения в Windows

@ppadala похоже, что вы можете автоматически включить winrm при подготовке на лазурном сервере с помощью EnableWinRMHttp . Подробности здесь: https://msdn.microsoft.com/en-us/library/azure/dn495299.aspx

@ enderb-ms @ taylorb-microsoft какой стартовый образ WS2016 следует использовать для этого?

@ppadala похоже, что вы можете автоматически включить WinRM при подготовке на лазурном сервере с помощью EnableWinRMHttp. Подробности здесь: https://msdn.microsoft.com/en-us/library/azure/dn495299.aspx

Я уже делаю это, что открывает порты в Azure. В образе также должен быть включен WinRM и правильно настроено правило брандмауэра Windows. Может быть, люди из Microsoft могут вмешаться, если я неправильно это понимаю.

@ppadala Может быть, этот шаблон быстрого

  1. Открытие порта: https://github.com/Azure/azure-quickstart-templates/blob/master/windows-server-containers-preview/azuredeploy.json#L122 -L135
  2. Открытие брандмауэра с помощью PowerShell: https://github.com/Azure/azure-quickstart-templates/blob/master/windows-server-containers-preview/containerConfig.ps1#L9 -L11
  3. Настройте WinRM: https://github.com/Azure/azure-quickstart-templates/blob/3c9980dd6baf21e84e48fcc9028ee54b3c0269f6/201-vm-winrm-lb-windows/ConfigureWinRM.ps1

Это нужно сделать для порта 2376, но это почти то же самое.

по вопросу WinRM vs OpenSSH.

Я думаю, что оба варианта в конечном итоге должны быть вариантами ... работа OpenSSH для Windows прогрессирует (https://github.com/PowerShell/Win32-OpenSSH), но она еще не полностью завершена (например, она еще не работает на Nano Server ). Так что я думаю, что WinRM - хороший вариант прямо сейчас, а затем мы можем добавить OpenSSH на уровень / когда он будет доступен для обеспечения паритета с возможностями Linux.

Привет, @ppadala , у некоторых из моих коллег есть несколько вопросов по поводу обновления, которое вы планируете внести в драйвер Azure:

  1. Планируете ли вы протестировать его с Nano Server? Как драйвер выбирает, какую ОС выбрать?
  2. Будет ли этот сценарий работать с учетом изменений, которые вы собираетесь внести? «Пользователь использует функцию создания docker-machine с драйвером Azure для подготовки виртуальной машины узла контейнера Windows, а затем использует env docker-machine, чтобы начать управление своими контейнерами с виртуальной машины со своего клиента»
  3. Как будет выглядеть команда «docker-machine create» для Windows?

Кроме того, я не хочу быть напористым, но мне любопытно, есть ли идеи, когда будет ваш пиар? Еще раз огромное вам спасибо за это!

Что касается вопроса @friism , если это может работать с образами Full Server и Nano Server WS2016, это было бы идеально.

  1. Планируете ли вы протестировать его с Nano Server? Как драйвер выбирает, какую ОС выбрать?

Да. Драйвер просто запускает любой образ сервера Windows, указанный в качестве параметра, аналогично тому, как образ Linux выбирается с параметром --azure-image. При этом нано-сервер необходимо протестировать.

  1. Будет ли этот сценарий работать с учетом изменений, которые вы собираетесь внести? «Пользователь использует функцию создания docker-machine с драйвером Azure для подготовки виртуальной машины узла контейнера Windows, а затем использует env docker-machine, чтобы начать управление своими контейнерами с виртуальной машины со своего клиента»

Да. Это основной вариант использования. Функциональность клиента остается прежней, потому что все, что мы делаем, это запускаем хост-сервер Docker Windows и настраиваем порты. Если механизм докеров Windows поддерживает это (что он делает), то это работает.

  1. Как будет выглядеть команда «docker-machine create» для Windows?

Дополнительные параметры: --azure-os "windows", --azure-winrm-username "имя пользователя", --azure-winrm-password "пароль", аналогично тому, как @StefanScherer предложил выше.

Что касается временной шкалы, я уже перебазировал большую часть своих изменений с помощью нового драйвера Azure (https://github.com/docker/machine/pull/3159), но @ahmetalpbalkan , я и несколько других обнаружили проблему с аутентификацией (https: //github.com/docker/machine/issues/3201) и @ahmetalpbalkan прокомментировали

Вы посещаете Build? Было бы здорово синхронизироваться лично.

@ppadala Я буду там! Докер также устраивает обед в 12.30 в Delarosa, 37 Yerba Buena. Пинг @ ah3rz, чтобы узнать подробности

@ppadala Я не буду в Build, но мой менеджер @ taylorb-microsoft будет, так что вы можете синхронизироваться с ним :-)

@ppadala, вы упомянули, что вас разблокировали , дайте нам знать, мы можем чем-нибудь помочь.

Обновить. У меня есть большая часть изменений, я могу раскручивать серверы Windows. Очистка кода и отправка на вытягивание через несколько дней.

Однако нам нужно решить, какой образ сервера Windows будет использоваться в качестве целевого образа виртуальной машины. В текущем официальном образе Windows Server Core включен только протокол RDP. Мне нужно, чтобы в образе был включен WinRM. Обратите внимание, что речь идет не о включении WinRM через Azure (https://msdn.microsoft.com/en-us/library/azure/dn495299.aspx), как предлагали немногие. Это только открывает порты WinRM в Azure. В запущенном экземпляре образа (который позже был записан в новый образ с помощью sysprep) должны быть выполнены следующие команды.

PS C:\> winrm set winrm/config/service/auth @{Basic=”true”}
PS C:\> winrm set winrm/config/service @{Allowunencrypted=”true”}
PS C:\> New-NetFirewallRule -Protocol TCP -LocalPort 5985 -Direction Inbound -Action Allow -DisplayName winrm
PS C:\> winrm quickconfig

Еще одна проблема заключается в том, что установка движка докеров занимает больше времени, чем установка на стороне Linux. Также необходимо перезагрузить виртуальную машину. Я использую следующие команды для установки движка докеров.

PS C:\> wget -uri https://aka.ms/tp4/Install-ContainerHost -OutFile C:\Install-ContainerHost.ps1
PS C:\> powershell.exe -NoProfile C:\Install-ContainerHost.ps1 -HyperV

Reboot

PS C:\> Install-ContainerImage -Name WindowsServerCore -Version 10.0.10586.0
PS C:\> wget https://raw.githubusercontent.com/Microsoft/Virtualization-Documentation/live/windows-server-container-tools/Update-ContainerHost/Update-ContainerHost.ps1 -OutFile Update-ContainerHost.ps1
PS C:\> ./Update-ContainerHost.ps1

Вопросы для @ enderb-ms и @ahmetalpbalkan : может ли Microsoft предоставить образ с включенным WinRM? В то время как мы делаем это, следует ли нам подумать о том, чтобы связать с ним docker-engine вместо установки по запросу? Хотя это ограничивает пользователей определенной связанной версией docker-engine, виртуальная машина будет доступна намного быстрее (в противном случае пользователь запускает docker-machine и ждет в течение часа или дольше, чтобы получить свой хост-докер Windows Server).

В настоящее время я создал собственный образ, в котором установлены и настроены как WinRM, так и docker-engine.

@ppadala - это общедоступная ветка? Разве можно не запускать сценарии инициализации, как здесь, при запуске виртуальных машин? https://github.com/Azure/azure-quickstart-templates/blob/875d139c16c9c023dce519e6dd48c707e3473346/201-vm-winrm-windows/azuredeploy.json#L183

@ppadala - это общедоступная ветка? Разве можно не запускать сценарии инициализации, как здесь, при запуске виртуальных машин? https://github.com/Azure/azure-quickstart-templates/blob/875d139c16c9c023dce519e6dd48c707e3473346/201-vm-winrm-windows/azuredeploy.json#L183

Ветка общедоступна, но я еще не проверял последнюю. Дай мне посмотреть, смогу ли я это сделать.

@ppadala - это общедоступная ветка? Разве можно не запускать сценарии инициализации, как здесь, при запуске виртуальных машин? https://github.com/Azure/azure-quickstart-templates/blob/875d139c16c9c023dce519e6dd48c707e3473346/201-vm-winrm-windows/azuredeploy.json#L183

Я пытался передать ресурсы, но получаю сообщение об ошибке

Error creating machine: Error in driver during machine creation: compute/VirtualMachinesClient:CreateOrUpdate 400 Failure responding to request -- Original Error: azure: Service returned an error. Code="InvalidRequestContent" Message="The request content was invalid and could not be deserialized: 'Could not find member 'resources' on object of type 'ResourceDefinition'. Path 'resources', line 1, position 953.'." Status=400

Вот код, который пытается это сделать: https://github.com/ppadala/machine/blob/azure-windows/drivers/azure/azureutil/azureutil.go#L540. Вы можете увидеть коммиты https://github.com/ppadala/machine/commit/azure-windows, чтобы увидеть мои изменения для получения поддержки Windows.

Правильный способ сделать это - предоставить Azure go-sdk простую в использовании функцию для подготовки этого шаблона развертывания. Трудно перевести нужные вещи, глядя на шаблоны развертывания json. @ahmetalpbalkan , есть мысли?

По сути, есть два пути.

  1. У вас должен быть установлен и настроен собственный образ с WinRM (и, возможно, docker-engine). Тогда код, который у меня есть, готов к работе.
  2. Начните с общего образа Windows Server 2016, определитесь с установкой с помощью шаблонов, а затем выполните остальные шаги, такие как загрузка сертификатов и т. Д.

@ppadala Я тоже озадачен. Готов поспорить, API пытается сказать, что вы не можете указать расширения в вызове создания виртуальной машины. Например, когда вы развертываете шаблон ARM с расширениями и наблюдаете, как происходит развертывание, ARM сначала создает виртуальную машину, а затем создает ресурс расширения отдельно после создания виртуальной машины ...

Должны быть некоторые методы для добавления расширений к виртуальным машинам в пакете arm/compute . Я предлагаю добавить расширения после создания виртуальной машины, которые должны разблокировать вас.

Спасибо @ahmetalpbalkan. Я добавил VirtualMachineExtension после создания виртуальной машины, и это сработало. Мне пришлось немного побороться, чтобы выяснить, как правильно настроить прослушиватели WinRM HTTPS, но у меня готов запрос на вытягивание № 3329. Дайте мне знать ваши комментарии.

Я также загрузил двоичные файлы на https://www.dropbox.com/sh/kpc46xtc8su2sj7/AABtxVIVbGo8KLy7tu6HnWwza?dl=0 для удобства тестирования.

Использование: в драйвер Azure добавлены три новых параметра.

--azure-os "linux"                  OS for the Azure VM (Windows|Linux)
--azure-winrm-user "docker-user"    Username for WinRM login [$AZURE_WINRM_USER]
--azure-winrm-password              Password for WinRM login [$AZURE_WINRM_PASSWORD]

Пример команды

docker-machine -D create -d azure --azure-subscription-id $(cat ~/azure/subid) --azure-os "windows" --azure-image MicrosoftWindowsServer:WindowsServer:2016-Technical-Preview-with-Containers:2016.0.20151118 --azure-winrm-password "mysecretpassword" vhost-win-test

@ppadala @ahmetalpbalkan Я не знаю, включили ли вы это уже, но эта статья о защите демона Windows также может быть хорошей: https://github.com/Microsoft/Virtualization-Documentation/tree/master/windows-server- инструменты-контейнеры / DockerTLS

/ cc @PatrickLang @swernli

@ppadala Спасибо, это потрясающе. Я только что попробовал пример команды для создания машины TP4 в Azure. И да, он работал с вашими готовыми двоичными файлами прямо из коробки. (хорошо, вам нужно ввести более сложный пароль, чтобы соответствовать требованиям сложности пароля Windows)

Защищенный Docker Engine с такой простой командой docker-machine. Это большой прорыв!

$ ./docker-machine-Darwin-x86_64 -D create -d azure --azure-subscription-id $(pass azure) --azure-os "windows" --azure-image MicrosoftWindowsServer:WindowsServer:2016-Technical-Preview-with-Containers:2016.0.20151118 --azure-winrm-password $(pass azure-winrm-password) vhost-win-test
$ eval $(./docker-machine-Darwin-x86_64 env vhost-win-test)
$ docker version
Client:
 Version:      1.10.1
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   9e83765
 Built:        Fri Feb 12 22:11:40 UTC 2016
 OS/Arch:      darwin/amd64

Server:
 Version:      1.10.0-dev
 API version:  1.22
 Go version:   go1.5.1
 Git commit:   59a341e
 Built:        Fri Nov 13 17:23:07 UTC 2015
 OS/Arch:      windows/amd64

@ppadala И что еще более фантастично, так это то, что docker-machine rm -f vhost-win-test очищает ВСЕ - я столько раз боролся с очисткой всех частей виртуальной машины, созданных с помощью "развертывания в лазурном", всегда пропускал кнопку "отменить развертывание из лазурного" 😄

@ppadala @ahmetalpbalkan Я не знаю, включили ли вы это уже, но эта статья о защите демона Windows также может быть хорошей: https://github.com/Microsoft/Virtualization-Documentation/tree/master/windows-server- инструменты-контейнеры / DockerTLS

Спасибо за ссылку @friism. Да, docker-engine уже защищен TLS, как и в Linux. Рабочий процесс docker-machine create генерирует учетные данные (сертификат, ключ и CA), и я использую WinRM для их загрузки на Windows Server.

@ppadala Спасибо, это потрясающе. Я только что попробовал пример команды для создания машины TP4 в Azure. И да, он работал с вашими готовыми двоичными файлами прямо из коробки. (хорошо, вам нужно ввести более сложный пароль, чтобы соответствовать требованиям сложности пароля Windows)

Спасибо, что попробовали @StefanScherer. Пароль в виде открытого текста - единственная часть, которая мне здесь не нравится (мне нравится ваш подход к проходу). Позже мы сможем перейти на аутентификацию на основе сертификатов. К сожалению, библиотека упаковщиков пока этого не поддерживает.

@ppadala И что еще более фантастично, так это то, что docker-machine rm -f vhost-win-test очищает ВСЕ - я столько раз боролся с очисткой всех частей виртуальной машины, созданной с помощью "развертывания в лазурном", всегда пропускал " кнопка "Отменить развертывание из лазурного" 😄

Благодарим @ahmetalpbalkan за переход на Azure ARM и написание чистой «очистки».

@ppadala, это потрясающе. Отличная работа! Думаю, теперь вопрос будет заключаться в том, как объединить это с драйвером azure в краткосрочной перспективе и с другими драйверами (такими как google / aws) в долгосрочной перспективе.

@ahmetalpbalkan запрос на вытягивание № 3329 уже синхронизирован с мастером и объединен с драйвером azure, будет здорово, если вы сможете просмотреть и оставить комментарии. В настоящее время только в Azure есть виртуальные машины Windows server 2016, но код написан таким образом, чтобы легко поддерживать GCP, AWS, vSphere и другие.

В настоящее время только в Azure есть виртуальные машины Windows server 2016, но код написан таким образом, чтобы легко поддерживать GCP, AWS, vSphere и другие.

  • @ppadala
    Означает ли это, что поддержка местных поставщиков виртуальных машин не за горами?

@ppadala @srounce Я бы сказал, что кто-то должен взглянуть на возможности выполнения WinRM и Startup Script API AWS / GCE / других, чтобы узнать, можно ли перенести эту функциональность на другие драйверы с минимальным набором изменений.

@ppadala @ahmetalpbalkan Можно ли использовать лазерный драйвер докер-машины с AzureStack ?

@nilleb Боюсь, что еще нет. Если вам это нужно, пожалуйста, откройте отдельный вопрос.

Я только что загрузил докер для Windows, у которого есть 1.12 RC2, который имеет 0.8.0-rc1, но когда я пробую опцию «azure-os» «windows», она не работает. Пожалуйста, дайте мне знать, где я могу приобрести версию докер-машины, которая может создавать хосты докеров TP5 для Windows 2016 в Azure.

Благодаря,

@SharadGumaste в чем ошибка, когда вы говорите "не работает"? вы пробовали указать изображение с помощью --azure-image ?

Я только что загрузил докер для Windows, у которого есть 1.12 RC2, который имеет 0.8.0-rc1, но когда я пробую опцию «azure-os» «windows», она не работает. Пожалуйста, дайте мне знать, где я могу приобрести версию докер-машины, которая может создавать хосты докеров TP5 для Windows 2016 в Azure.

@SharadGumaste Я предполагаю, что вы пробовали выпущенную версию. Патч для поддержки Windows (опция azure-os windows) еще не объединен.

Pradeep, да я делал обновление из докера. Что самое лучшее
способ получить двоичные файлы вашей работы? Я очень близок к тому, чтобы сделать демо для
наш клиент, за исключением того, что я не могу создать barebone-сервер Windows и установить
Docker Host связанные вещи с нуля и добавить эту машину в
docker-machine и создайте и разверните из Visual Studio.
Я застрял на сертификатах TLS и т. Д.

Заранее благодарим вас за любую помощь.

В четверг, 23 июня 2016 г., Прадип Падала [email protected] написал:

Я только что загрузил докер для Windows, у которого есть 1.12 RC2,
имеет 0.8.0-rc1, но когда я пробую опцию "windows" "azure-os", он делает
похоже не работает. Пожалуйста, дайте мне знать, где я могу приобрести докер-машину
версия, которая может создавать узлы докеров TP5 для Windows 2016 в Azure.

@SharadGumaste https://github.com/SharadGumaste Полагаю, вы были
пробую выпущенную версию. Патч для поддержки Windows (azure-os
вариант Windows) еще не объединен.

-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/docker/machine/issues/2907#issuecomment -228218888,
или отключить поток
https://github.com/notifications/unsubscribe/AH3YqqQLlXWUnSdw4i2TzsqXa4gHmTVYks5qOxt1gaJpZM4HKwbT
.

"A common mistake people make when trying to design something

полностью защищенным от дурака - значит недооценивать изобретательность полных дураков ".

– Douglas Adams, author (1952 – 2001)

@SharadGumaste, можете ли вы отправить письмо на адрес [email protected]? У меня есть отдельное репо для докер-машины для Windows, могу выслать вам инструкцию по настройке.

Есть ли какие-нибудь новости о развертывании хоста Windows Docker в локальном VirtualBox?

Есть ли у кого-нибудь прототип, способный запускать виртуальные машины Windows в Azure?

@djanosik Я работаю над тем, чтобы заставить докер-машину запускать автоматическое масштабирование экземпляров Windows OpenStack и EC2 для моих сборок GitLab CI. Я взял PR-ветку @ppadala, обновил ее до последней версии мастера и сейчас изучаю. Он находится на https://github.com/davidarcher/machine/tree/azure_winrm .

Я выполнил инструкции @ jen20 по созданию Windows AMI с SSH. Он работает с Docker Machine до момента подготовки, когда происходит сбой из-за отсутствия файла /etc/os-release . Теперь, когда SSH в Windows доступен (с некоторыми усилиями), можем ли мы получить SSH-инициатор Docker Machine для Windows?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги