334

Linux で Windows コンテナーを実行することはできますか? このシナリオは、.NET (旧ネット) で記述されたアプリケーションと、これを Docker で実行して .NET で記述された APIを提供したいLinux ユーザーに基づいています。net462localhost

Docker Desktop for Windows のベータ版を使用しています。

いいえの場合、なぜ Windows は Linux コンテナーを実行でき、その逆はできないのでしょうか?


しばらく経ちましたが、この質問は人気のある質問です。ここで、回避策は新しいネット標準を使用することであることに注意してください。4.6.2フレームワークを新しいライブラリにパックすることができました。

4

9 に答える 9

16

コンテナーは OS カーネルを使用します。Windows コンテナーは、実行するためにプロセスを利用します。理論的に言えば、Windows コンテナーは Linux では実行できません。

ただし、VMstyle ソリューションを利用した回避策があります。

Mac でVagrantPackerを使用するこのソリューションを見つけたので、Linux でも機能するはずです : https://github.com/StefanScherer/windows-docker-machine

この Vagrant 環境は、Windows コンテナーを使用して MacBook で動作する Docker マシンを作成します。Docker for Mac Linux コンテナーと Windows コンテナーを簡単に切り替えることができます。

bash コマンドの実行

ここに画像の説明を入力してください

ヘッドレス Vagrant ボックスの構築

$ git clone https://github.com/StefanScherer/packer-windows
$ cd packer-windows

$ packer build --only=vmware-iso windows_2019_docker.json
$ vagrant box add windows_2019_docker windows_2019_docker_vmware.box

Docker マシンを作成する

$ git clone https://github.com/StefanScherer/windows-docker-machine
$ cd windows-docker-machine
$ vagrant up --provider vmware_fusion 2019

Windows コンテナーに切り替える

$ eval $(docker-machine env 2019)
于 2019-04-01T11:47:35.593 に答える