Windows 10上のUbuntu:DockerとWSL


11

現在、Windows 10でUbuntuを実行する方法は2つあります。

  1. Linux用のWindowsサブシステム(WSL)の使用。
  2. Windows 10用のdockerをインストールし、Ubuntuでコンテナーを使用します。

しかし、それらの違い(アプリケーションについての話)と、長所と短所についての理解しやすい説明は見つかりませんでした。

WSLでのdockerの使用について話している投稿を見つけました:Ubuntu(Windows Linux Subsystem)とDocker。しかし、私はWindows 10で直接それを使用することについて話しているので、これら2つに関する情報があれば感謝します。


私は回答を書く専門家ではありませんが、Dockerに投票します。その理由は、Dockerは仮想化を意味するため、問題なく動作するはずです。一方、WSLにはバグがたくさんあります。ベンチマーク、おもしろい、そしてほとんどの場合は開発で機能します。しかし、深刻なものを展開しようとしている場合、これはあなたの選択ではありません。少なくともまだです。
Hi-Angel

回答:


14

WSL2で導入された変更を反映するために2020/02/18を更新

こんにちは!Microsoft PMは、WSLとコマンドラインで作業しています。

WSLを使用すると、ネイティブの変更されていないLinux ELF-64バイナリをWindowsで直接実行でき、お気に入りのLinuxツールをWindowsの「ホスト」OS上で実行できます。

WSL1は、NTカーネルの最上部にLinux syscall互換レイヤーを追加するアプローチを採用しました。これにより、LinuxバイナリをNT上で実行し、ホストOSと同じ基礎となるファイルシステム、ネットワーク、プロセスリストなどを共有できます。

一方、すぐにリリースされるWSL2は、実際のLinuxカーネルの上で、実行するアプリが必要とするRAMのみを割り当てる軽量VM内で、ディストリビューションのバイナリをLinuxコンテナー内で実行し、解放されたRAMを解放してホストOS。これにより、100%Linuxの互換性が提供され、Linuxツールをほぼネイティブのパフォーマンスで実行できるようになり、ホストから必要な最小限のリソースを消費するため、マシンを高速かつスムーズに実行できます。

WSL2以前は、WSL1でDockerクライアントを実行して、ローカルホスト上のHyper-Vで実行されているDocker for Windowsを駆動したり、リモートDockerサーバーを管理したりできました。しかし、多くの技術的な理由により、WSL1上でDocker Engineを実行することはできません。

ただし、WSL2のDockerでも同じことができますが、必要に応じてWSLの上でDocker Engine自体を実行することもできます。これは、WindowsデスクトップでDockerを実行するためのDockerの推奨される将来のパスです

WSLの詳細については、https://aka.ms/learnwslのビデオとドキュメントをご覧ください。


この回答はWSLを指していると思います。WSL2は、WindowsとのインターフェースをとるカスタムLinuxカーネルを実行します。カスタムWindows LinuxカーネルはVMで実行されると思います。
ジョーダンスチュワート

1
ありました。WSL2の現実をよりよく反映する更新を投稿しました:)
リッチターナー

2

それは正しいです。あなたが言及しなかったことの1つは、ram / 8コアxeon cpuの高速ssd / lotsを使用しても、WSLは現在ioでかなり遅いということです。これは、2019年1月も問題です。samsung SSDを搭載したワークステーションでray @ DESKTOP-O0MT13B:/ mnt / c / Users / rayjh $ dd if = / dev / zero of = test bs = 64k count = 16k conv = fdatasyncを実行したところ、97.6 MBしか取得できませんでした/ s。

ベアメタルubuntu LTSを実行すると、このボックスはその数倍になります。WSLとVSCODEを組み合わせようとするとき、無限の問題を気にしないでください。

ここからwindows 10をワイプして、ubuntu 18.04LTSをインストールしています。


特に最後に有毒である必要はありません。むしろ、直面している問題の原因を調査するために何をしたか、それらが既知の問題であるかどうか、および誰かが問題の修正に取り組んでいるかどうかを教えてください。彼らは確かだと思います。また、ウィンドウをアンインストールする必要はありません。hyper-vマネージャーをインストールしてUbuntuをクイックインストールするだけで、仮想Linuxデスクトップ内から作業する場合は、Linux開発環境に設定できます。それ以外の場合は、WSLを使い続け、問題が修正されるまで待ちます。97 MB /秒はそれほど遅くありません。
Paul-Sebastian Manole

私の知る限り、速度の問題はWindowsファイルアクセスサブシステムに関連しており、回避策が進行中です。
Paul-Sebastian Manole

WSLはまだ遅いようです。ただし、起動時間は非常に速く、一般的なLinux CLIツールを使用できます。LinuxとWindowsのファイルシステムのマッピングは複雑に思われます。
ジョーダンスチュワート

目に見えて速くなった。しかし、私はminicondaを使用してパッケージをインストールしようとしましたが、それでも少し遅くなりました。
rayj
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.