Machine: WindowsDockerエンジンに接続します

作成日 2016年01月22日  ·  60コメント  ·  ソース: docker/machine

誰かがWindowsDockerエンジン用のdocker-machineドライバーとプロビジョナーを追加または考え始めましたか?
では、誰でもdocker-machineを使用して、Linux DockerEngineで使用されているのと同じくらい簡単にWindowsServer 2016 TP4を保護して接続できますか?

何かのようなもの:

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

SSHの代わりにWinRM(HTTP / HTTPS)を使用してリモートWindows Serverにアクセスし、TLS証明書をそこに配置して、WindowsDockerサービスなどを再構成します。
パッカーには、プロビジョニング用にGoに組み込まれたSSHおよびWinRM用のコミュニケーターがあることを知っています。
ドットをつなぐだけ...

ping @ahmetalpbalkan :smile:

arewindows kinenhancement

最も参考になるコメント

@ jen20指示に従って、SSHをWindowsAMIを構築しました。 /etc/os-releaseファイルがないために失敗するプロビジョニングの時点までDockerMachineで動作します。 WindowsでSSHが利用できるようになったので(少し努力して)、Windows用のSSHベースのDocker Machineプロビジョナーを入手できますか?

全てのコメント60件

プロビジョナーモデルの現在の動作方法により、このような機能を実装するのはそれほどクレイジーではないかもしれませんが、かなり基本的な仮定(SSHの存在など)について再考またはペーパー化する必要があります。

実装する必要があるのは、Windowsマシンであることを具体的に示すフラグをいくつか用意することだと思います。 例: --generic-winrm-userpass

Windows Serverコンテナーについてはよくわかりませんが、Nathanが言ったように、ほとんどの作業は、MicrosoftがSSHプロトコルを実行するのを待つか(発生しています)、WinRMを使用してポリフィルを提供することによって(私はしません)、WindowsでSSHプロトコルを取得します。それがどのように機能するかを知っています)。

これについての議論が社内でも起こっていたのを覚えています。 cc: @jstarksは、Windowsコンテナチームに所属しています。

あなたが何かをプロトタイプ化できると思うなら、私はそれのために行くと言うでしょう。

こんにちは@StefanScherer 、私はHyper-VチームのPMであり、これを可能にする方法を実際に検討しています。 私たちが考えていることの1つは、DockerMachineがプルできるOSとしてこれを使用できるかもしれないということです。 Nanoを使用する場合、それは小さなダウンロードのままになります。 Open SSH inWindowsプロジェクトのリポジトリはこちらです。

どんなアイデアでも大歓迎です。何かのプロトタイプを作成する場合は、お知らせください。 これを機能させる方法についてもっと知りたい場合は、ここに投稿し続けます。

cc: @dgageot

@ enderb-msああ、ナノ画像、それも素晴らしいでしょう。 また、OpenSSHもオプションです。 それまでの間、PackerやVagrantなどの他のプロジェクトでは、Windowsのサポートが改善され、WinRMを使用し、SSHが削除されてよりネイティブな通信が可能になりました。

最初のステップとして私が考えたのは、docker-machineをTP4サーバーに接続させることです。 汎用ドライバーを使用します。

まだ紺碧のドライバーを試していませんが、AzureでTP4 VM + dockerエンジンテンプレートを選択することを考えています。docker-machineは、LinuxVMではなくWindowsVMをプロビジョニングすることを知っています。 docker-machineが実行されているローカルマシンをそのリモートDockerエンジンに接続するには、いくつかの最小限の手順を実行するだけで済みます。

これらは、DockerがすでにインストールされているLinuxVMに対して実行される汎用ドライバーの手順です。 Windows用のアイデアをいくつか追加しました。

  1. docker-machineはリモートIPアドレスに接続します
  2. OSのバージョンをプロビジョニングできるかどうかを確認します(cat / etc / os-release->代わりにWindows情報を取得します)
  3. ホスト名を更新しますか?
  4. / etc / hostsを更新します
  5. curlをインストールします(Windowsホストにインストールする必要はありません)
  6. dockerがインストールされているかどうかを確認してください。 そうでない場合はインストールしてください。 (おそらくInstall-ContainerHost.ps1全体を実行しますか?)
  7. Dockerのバージョンを確認する
  8. dockerの構成ディレクトリを作成します(/ etc / docker->%ProgramData%/ docker)
  9. Dockerサービスを停止します
  10. ca.pemを挿入します(Windows:%ProgramData%/ docker / certs.d)
  11. server.pemを挿入します
  12. server-key.pemを挿入します
  13. dockerの構成ファイルを書き込みます(/ etc / default / docker、おそらく%ProgramData%/ docker / runDockerDaemon.cmdの拡張)
  14. Dockerサービスを開始します
  15. netstat -an

フェーズ1:

DockerエンジンがプリインストールされたAzure /ローカルTP4のシナリオ:

ステップ1.)SSHの代わりにWinRMを使用する必要があります(たとえば、packerのwinrmコミュニケーターを確認してください)。

手順2.)すべてが稼働しているかどうか、およびVMがTP4であるかどうかを確認できます。 それ以外の場合、たとえば再起動せずにすべてをインストールできない場合は中止します。

次に、手順9。)... 14.)を実行して、dockerを停止し、TLS証明書を挿入して、dockerを再起動する必要があります。 その後、docker-machineは既存のAzure VM /ローカルまたはオンプレミスのWindowsVMへの接続を作成し、dockerポートを保護しました。

フェーズ2:

ステップ2の後半で、「空の」2016サーバーがステップ6でDockerをインストールできるように拡張できます。)

フェーズ3:

次に、Nanoイメージを含む「boot2docker.iso」をローカルにダウンロードします。

いくつかの最初の考え;-)

コンテキスト: http

@dgageotこれをクランクする予定ですか? そうでない場合は、マイクロソフトの人々が正しい方向に向けて、進歩を遂げられるようにする必要があると思います。

@friism @ enderb-MSとの継続的な作業がすでにあります

@dgageot素晴らしい! 詳細を入手できる場所はありますか?

@dgageot AzureでWindowsサーバーインスタンスを起動し、Dockerエンジンをセットアップできる変更があります。 @ enderb-msの作業が利用できるリポジトリはありますか? 私はここにレビューのために私のものを提出し、おそらく@ enderb-msが行っていることとマージまたは統合することができます。

私がしたことの簡単な説明

  1. Windowsイメージのスピンアップのサポートを追加します。
  2. AzureでWindowsServer 2016TP4イメージを使用する
  3. それをスピンアップします。 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 @ https://github.com/containerx/machineにありますが、このPRに関係のないその他の変更も含まれています。

新しいブランチ、クリーンアップコードを作成しており、すぐにプルリクエストを送信します。

プルリクエストを行いました。コメントやレビューをいただければ幸いです。

作業が必要なハードコードされた項目がまだいくつかありますが、これは数日中に修正する予定です。

参考のためのPR: https

@ppadalaは本当にいいです。 @ enderb-msとdocker-machineのメンテナは、現在、WindowsでWinRMを使用するかOpenSSHをブートストラップするかを判断しようとしていると思います。 私はそれらの人々にどの仕事を進めるべきかを決定させます。

紺碧のドライバーに関しては、 azureドライバーに変更を加えることはできません。 Azure Resource Managerスタックを使用して紺碧のドライバーを書き直しました(これは大きな重大な変更です)。 詳細は次のとおりです。https

@ppadalaまた、ほとんどすべてのクラウドプロバイダーがWS2016イメージを取得し、(必要に応じて)docker-machineがこれらのウィンドウ固有のフラグを追加する必要があるとすぐに、これが単なるazureドライバーの変更ではないことも重要です。

@ppadalaは本当にいいです。 @ enderb-msとdocker-machineのメンテナは、現在、WindowsでWinRMを使用するかOpenSSHをブートストラップするかを判断しようとしていると思います。 私はそれらの人々にどの仕事を進めるべきかを決定させます。

私は実際にSSHオプションも検討しました。 私が試したWindowsOpenSSHサーバーが気に入らなかっただけで、OS Xからサーバーに接続するのに問題がありました。とはいえ、考えられるすべてのSSHサーバーを試したわけではありません。 ディスカッションに参加できてうれしいです。ディスカッションがどこで行われているのか教えてください。

紺碧のドライバーに関しては、紺碧のドライバーに変更を加えることはできません。 Azure Resource Managerスタックを使用して紺碧のドライバーを書き直しました(これは大きな重大な変更です)。 詳細は次のとおりです。#2742(コメント)現在、Azure SDKのフレークネスの問題に対処しています。問題が解決したら、新しい紺碧のドライバーをリリースするためのPRを送信します。

心配はいりません。私が実際に行った変更は、紺碧のドライバーだけでなく、OSのオプションを追加するためのDockerマシンの残りの部分にもあります。 #2742に投稿されたコードを試してみます。 コードは、AzureでWindowsイメージをスピンアップするためのサポートをすでに持っていますか?

@ppadalaまた、ほとんどすべてのクラウドプロバイダーがWS2016イメージを取得し、(必要に応じて)docker-machineがこれらのウィンドウ固有のフラグを追加する必要があるため、これはおそらく単なる紺碧のドライバーの変更ではないことも重要です。

上で述べたように、私の変更には、紺碧のドライバーと残りのDockerマシンの変更の両方が含まれています。 ここからどうやって進めましょうか。 リソースマネージャーの変更がコミットされるのを待つことができます。その後、docker-machineにWindows固有のフラグを追加することができます。

@ ahmetalpbalkan

  1. コードを確認してコミットします
  2. スピンアップWindowsイメージのサポートを追加
  3. WinRM(または、同意する場合はSSH)、フラグ、およびdocker-machinecoreのその他の変更を使用してWindowsプロビジョナーを追加します。

現在のドライバーで2と3を実行しましたが、ARMベースのドライバーに基づいて同様の変更を加えることができます。 あなたの考えを聞かせてください。

@ppadalaはいいですね。 私のブランチの上でコードをリベースしようとすると、ブロックが解除され、いくつかの作業を開始できます。 機能面では、新しいドライバーの準備ができていますが、azure-sdk-for-goでいくつかの問題に対処しており、これらにはまだ時間がかかる可能性があり(数週間など)、最終結果をプルとして送信しますリクエスト。

@ppadalaこれはすごい! これをしていただきありがとうございます。 残念ながら、私は開発者の時間を得ることができなかったので、私たちは私たちのアイデアに取り組み始めていません。 しかし、これは私が人々を乗せるのに役立つかもしれません。
SSHを使用して、他のプラットフォーム(LinuxおよびOS X)の開発者がWindowsコンテナーホストをローカルマシンまたはクラウドのVMにデプロイできるようにする理由の1つ。 一部のAzureイメージにOpenSSHを含める可能性について話し始めました。そうすれば、その機能を追加するために追加の手順は必要ありません。 OpenSSHで発生した問題について詳しく教えてください。
WinRMについても考えていた@dgageotにタグを付けます。
繰り返しますが、これは素晴らしいです、これをやってくれてありがとう@ppadala

@ppadalaこれはすごい! これをしていただきありがとうございます。 残念ながら、私は開発者の時間を得ることができなかったので、私たちは私たちのアイデアに取り組み始めていません。 しかし、これは私が人々を乗せるのに役立つかもしれません。
SSHを使用して、他のプラットフォーム(LinuxおよびOS X)の開発者がWindowsコンテナーホストをローカルマシンまたはクラウドのVMにデプロイできるようにする理由の1つ。 一部のAzureイメージにOpenSSHを含める可能性について話し始めました。そうすれば、その機能を追加するために追加の手順は必要ありません。 OpenSSHで発生した問題について詳しく教えてください。

SSHサーバーとしてhttps://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSHをセットアップしていました。 Macからssh <server> <cmd>を実行すると、サーバーへのプレーンなインタラクティブsshは機能しますが、機能していないようです。

AzureイメージにSSHサーバーを含めると、間違いなくクリーンになります。 docker-machineドライバーインターフェイスは、SSHアクセスが利用可能であることをすでに想定しているようです。

@ppadala実際、LinuxとMac OS Xでwinrm通信を可能にするライブラリがいくつかあることがわかりました。これにより、今のところすべてがはるかに簡単になります。 このライブラリをwinrm通信に使用し

@ppadala実際、LinuxとMac OS Xでwinrm通信を可能にするライブラリがいくつかあることがわかりました。これにより、今のところすべてがはるかに簡単になります。 このライブラリをwinrm通信に使用していますよね? それがLinuxとMacOS Xで機能するかどうか知っていますか?

はい、私が使用しているのはパッカーライブラリです。 Mac OSXとLinuxの両方で動作します。

@ppadala sshとwinrmの議論は非常に興味深いものです:

  • SSHは、マシンが常に同じプロトコルを使用してホストと通信することを意味するため、優れています(LinuxまたはWindowsのどちらでも)
  • winrmは、新しい/外国のソフトウェアをWindowsに詰め込む必要がないので便利です

@ppadala EnableWinRMHttp Azureでプロビジョニングする場合、winrmを自動有効にできるようです。 詳細はこちら: https

@ enderb-ms @ taylorb-microsoftこれにはどの開始WS2016イメージを使用する必要がありますか?

@ppadala EnableWinRMHttpを使用しhttps

私はすでにこれを行っており、Azureのポートが開きます。 また、イメージでWinRMを有効にし、Windowsファイアウォールルールを正しく設定する必要があります。 私がこれを間違って理解しているなら、たぶんマイクロソフトの人々はここでチャイムを鳴らすことができます。

@ppadalaこのAzureクイックスタートテンプレートが少し役立つかもしれません。

  1. ポートを開く: https
  2. PowerShellを使用してファイアウォールを開く: https
  3. WinRMの構成: https

これはポート2376に対して実行する必要がありますが、これはほぼ同じです。

WinRMとOpenSSHの問題について。

どちらも最終的にはオプションになると思います... Windows用のOpenSSHの作業は進行中ですが(https://github.com/PowerShell/Win32-OpenSSH)、まだ完全には完了していません(たとえば、NanoServerではまだ機能していません)。 )。 したがって、WinRMは今のところ良いオプションだと思います。そうすれば、Linuxエクスペリエンスと同等に利用できるようになったときに、OpenSSHを階層化できます。

こんにちは@ppadala 、私の同僚の何人かは、Azureドライバーに対して行う予定の更新についていくつか質問があります。

  1. Nano Serverでテストする予定はありますか? ドライバーはどのOSを選択するかをどのように選択しますか?
  2. これから行う変更を使用して、このシナリオは機能しますか? 「ユーザーは、Azureドライバーでdocker-machine create関数を使用してWindowsコンテナーホストVMをプロビジョニングし、次にdocker-machineenvを使用してクライアントからVMからコンテナーの管理を開始します。」
  3. 「docker-machinecreate」コマンドはWindowsではどのようになりますか?

また、私は強引になるつもりはありませんが、私は興味があります、あなたのPRがいつ上がるかについて何か考えはありますか? 繰り返しになりますが、どうもありがとうございました!

@friismの質問に関して、これが

  1. Nano Serverでテストする予定はありますか? ドライバーはどのOSを選択するかをどのように選択しますか?

はい。 ドライバーは、-azure-imageオプションを使用してLinuxイメージを選択する方法と同様のオプションとして指定されたWindowsサーバーイメージをスピンアップするだけです。 つまり、nanoサーバーをテストする必要があります。

  1. これから行う変更を使用して、このシナリオは機能しますか? 「ユーザーは、Azureドライバーでdocker-machine create関数を使用してWindowsコンテナーホストVMをプロビジョニングし、次にdocker-machineenvを使用してクライアントからVMからコンテナーの管理を開始します。」

はい。 これが主な使用例です。 WindowsサーバーのDockerホストを起動し、ポートを設定するだけなので、クライアントの機能は同じです。 Windows Dockerエンジンがこれをサポートしている場合(サポートしています)、これは機能します。

  1. 「docker-machinecreate」コマンドはWindowsではどのようになりますか?

追加のオプションは、@ StefanSchererが上記で提案した方法と同様に、-azure-os "windows"、-azure-winrm-username "username"、-azure-winrm-password "password"になります。

タイムラインに関しては、変更のほとんどを新しいAzureドライバー(https://github.com/docker/machine/pull/3159)で既にリベースしましたが、 @ ahmetalpbalkan 、私、および他の数人が認証の問題を発見しました(https: //github.com/docker/machine/issues/3201)と@ahmetalpbalkanは、古いドライバー(https://github.com/docker/machine/issues/3201#issuecomment-199409527)に戻ることについてコメントしました。 先に進むには、まずその議論を解決する必要があります。 古いドライバーに戻ると、マージが簡単になります。

ビルドに参加していますか? 直接同期するのは素晴らしいことです。

@ppadala私はそこにいます! Dockerはまた、37 YerbaBuenaのDelarosaで30日の12時にランチを主催しています。 詳細については、 @ ah3rzにpingを

@ppadala私はBuildには参加しませんが、マネージャーの@ taylorb-microsoftは参加するので、彼と同期することができます:-)

@ppadalaは、ブロック

更新。 ほとんどの変更がリベースされており、Windowsサーバーを起動できます。 数日でプルのために送信するコードをクリーンアップします。

ただし、ターゲットVMイメージとして使用するWindowsサーバーイメージを決定する必要があります。 現在の公式のWindowsServer Coreイメージでは、RDPのみが有効になっています。 イメージでWinRMを有効にする必要があります。 これは、Azure(https://msdn.microsoft.com/en-us/library/azure/dn495299.aspx)を介してWinRMを有効にすることではないことに注意してください。 これは、AzureでWinRMポートを開くだけです。 実行中のイメージのインスタンス(後で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

もう1つの問題は、DockerエンジンのインストールがLinux側のインストールよりもはるかに時間がかかることです。 VMも再起動する必要があります。 Dockerエンジンのインストールに次のコマンドを使用しています。

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に制限されますが、VMははるかに高速に使用可能になります(そうでない場合、ユーザーはdocker-machineを実行し、Windows Server dockerホストを取得するまで1時間以上待機します)。

現在、WinRMとdocker-engineの両方がインストールおよび構成されたカスタムイメージを作成しました。

@ppadalaはどこでも公開されているブランチですか? VMを起動する方法で、ここのようなinitスクリプトを実行できませんか? https://github.com/Azure/azure-quickstart-templates/blob/875d139c16c9c023dce519e6dd48c707e3473346/201-vm-winrm-windows/azuredeploy.json#L183

@ppadalaはどこでも公開されているブランチですか? VMを起動する方法で、ここのようなinitスクリプトを実行できませんか? https://github.com/Azure/azure-quickstart-templates/blob/875d139c16c9c023dce519e6dd48c707e3473346/201-vm-winrm-windows/azuredeploy.json#L183

ブランチは公開されていますが、最新のものはまだチェックインしていません。 私がこれを行うことができるかどうか見てみましょう。

@ppadalaはどこでも公開されているブランチですか? VMを起動する方法で、ここのようなinitスクリプトを実行できませんか? 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

これを実行しようとするコードは次のとおりです: httpshttps://github.com/ppadala/machine/commits/azure-windowsを確認して、Windowsサポートを取得するための変更を確認できます。

これを行う正しい方法は、Azure go-sdkに、このデプロイメントテンプレートを準備するための使いやすい関数を公開させることです。 jsonのデプロイテンプレートを見て、渡す適切なものを翻訳することは困難です。 @ahmetalpbalkan 、何か考えはありますか?

基本的に、2つのパスがあります。

  1. WinRM(および場合によってはdocker-engine)がインストールおよび構成されたカスタムイメージを用意します。 これで、これまでのコードの準備が整いました。
  2. 一般的なWindowsServer 2016イメージから開始し、テンプレートを介してインストールすることを理解してから、証明書のアップロードなどの残りの手順に進みます。

@ppadala私も困惑しています。 APIは、VMcreate呼び出しで拡張子を指定できないと言っているに違いありません。 たとえば、拡張機能を備えたARMテンプレートを展開し、展開が行われるのを監視する場合、ARMは最初にVMを作成し、VMが作成されると拡張リソースを個別に作成します...

arm/computeパッケージのVMに拡張機能を追加するには、いくつかの方法が必要です。 VMが作成されたら、拡張機能を追加することをお勧めします。これにより、ブロックが解除されます。

@ahmetalpbalkanに感謝します。 VMの作成後にVirtualMachineExtensionを追加しましたが、機能しました。 WinRM HTTPSリスナーをセットアップする正しい方法を見つけるために少し苦労しなければなりませんでしたが、プルリクエスト#3329の準備ができています。 コメントを教えてください。

また、簡単にテストできるように、バイナリをhttps://www.dropbox.com/sh/kpc46xtc8su2sj7/AABtxVIVbGo8KLy7tu6HnWwza?dl=0にアップロードしました。

使用法:3つの新しいパラメーターが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

/ cc @PatrickLang @swernli

@ppadalaありがとう、これは完全に素晴らしいです。 サンプルコマンドを試して、AzureでTP4マシンを作成しました。 そして、ええ、それは箱から出してすぐにあなたの構築済みのバイナリで動作しました。 (わかりました。Windowsのパスワードの複雑さの要件に合わせて、より複雑なパスワードを入力する必要があります)

このような単純なdocker-machineコマンドを使用した安全なDockerエンジン。 それは素晴らしいブレークスルーです!

$ ./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 EVERYTHINGクリーンアップ-私はVMのすべての部分をきれいに何度も苦労「紺碧のデプロイ」で作成され、常にボタン「紺碧からアンデプロイ」を逃しました😄

@ppadala @ahmetalpbalkanすでにこれを組み込んでいるかどうかはわかりませんが、Windowsデーモンのセキュリティ保護に関するこの記事もhttps

リンク@friismをありがとう。 はい、docker-engineはLinuxと同様にTLSですでに保護されています。 docker-machine createワークフローは資格情報(証明書、キー、およびCA)を生成し、WinRMを使用してそれらをWindowsServerにアップロードします。

@ppadalaありがとう、これは完全に素晴らしいです。 サンプルコマンドを試して、AzureでTP4マシンを作成しました。 そして、ええ、それは箱から出してすぐにあなたの構築済みのバイナリで動作しました。 (わかりました。Windowsのパスワードの複雑さの要件に合わせて、より複雑なパスワードを入力する必要があります)

@StefanSchererをお試しいただきありがとうございます。 平文のパスワードは私がここで好きではない唯一の部分です(私はあなたのパスアプローチが好きです)。 後で証明書ベースの認証に切り替えることができます。 残念ながら、packerライブラリはまだそれをサポートしていません。

@ppadalaさらに素晴らしいのは、

Azure ARMに移行し、クリーンな「クリーンアップ」を作成したクレジットは@ahmetalpbalkanにあります。

@ppadalaこれはすごいです。 すごい仕事! 今の問題は、これを短期的には紺碧のドライバーに、長期的には他のドライバー(google / awsなど)にマージする方法だと思います。

@ahmetalpbalkanプルリクエスト#3329は既にマスターと同期されており、

現在、AzureのみにWindows Server 2016 VMがありますが、コードはGCP、AWS、vSphereなどを簡単にサポートできるように記述されています。

  • @ppadala
    これは、ローカルVMプロバイダーのサポートが間近に迫っていることを意味しますか?

@ppadala @srounce誰かが、AWS / GCE / other APIのWinRMおよびスタートアップスクリプト実行機能を調べて、最小限の変更で機能を他のドライバーに移植できるかどうかを確認する必要があると思います。

@ppadala @ahmetalpbalkan docker -machineの「azure」ドライバーをAzureStackで使用

@nillebまだ怖いです。 必要な場合は、別号を開いてください。

0.8.0-rc1の1.12RC2を搭載したWindows用のDockerをダウンロードしましたが、「azure-os」「windows」オプションを試してみると機能しないようです。 AzureでTP5Windows2016ドッカーホストを作成できるドッカーマシンバージョンを入手できる場所を教えてください。

ありがとう、

@SharadGumaste 「機能しない」と言ったときのエラーは何ですか? --azure-image画像を指定してみましたか?

0.8.0-rc1の1.12RC2を搭載したWindows用のDockerをダウンロードしましたが、「azure-os」「windows」オプションを試してみると機能しないようです。 AzureでTP5Windows2016ドッカーホストを作成できるドッカーマシンバージョンを入手できる場所を教えてください。

@SharadGumasteリリースされたバージョンを試していたと思います。 Windowsをサポートするためのパッチ(azure-os windowsオプション)はまだマージされていません。

Pradeep、はい、私はdockerソフトウェアから更新を行いました。 一番良いのは何ですか
あなたの仕事のバイナリを取得する方法は? 私はデモを行うのに非常に近いです
ベアボーンWindowsサーバーを作成してインストールできないことを除いて、私たちのクライアント
docker host関連のものを最初から作成し、そのマシンをに追加します
docker-マシンを作成し、VisualStudioからビルドしてデプロイします。
TLS証明書などで立ち往生しています...

よろしくお願いします。

2016年6月23日(木曜日)には、プラディープPadala [email protected]書きました:

1.12RC2を搭載したWindows用のDockerをダウンロードしました
0.8.0-rc1がありますが、「azure-os」「windows」オプションを試してみると、
うまくいかないようです。 Docker-Machineを入手できる場所を教えてください
Azure上にTP5Windows 2016Dockerホストを作成できるバージョン。

@SharadGumastehttps ://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か? Windows用のdocker-machine用に別のリポジトリがあります。セットアップの手順を送信できます。

ローカルVirtualBoxでWindowsDockerホストを起動することに関するニュースはありますか?

AzureでWindowsVMを起動できるプロトタイプを持っている人はいますか?

@djanosik私は@ppadalaのPRブランチを利用して、最新のマスターにリベースし、現在勉強中です。 https://github.com/davidarcher/machine/tree/azure_winrmにあります

@ jen20指示に従って、SSHをWindowsAMIを構築しました。 /etc/os-releaseファイルがないために失敗するプロビジョニングの時点までDockerMachineで動作します。 WindowsでSSHが利用できるようになったので(少し努力して)、Windows用のSSHベースのDocker Machineプロビジョナーを入手できますか?

このページは役に立ちましたか?
0 / 5 - 0 評価