web-dev-qa-db-ja.com

Windows 10上のUbuntu:DockerとWSL

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

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

しかし、それらの違い(アプリケーションについて語る)と長所と短所について理解しやすい説明を見つけることができませんでした。

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

10
alvgom

Microsoft PMは、WSLとコマンドラインで作業中です。

WSLは主に、お気に入りのすべてのWindowsツールとともに1つ以上のLinuxコマンドライン環境を提供するように設計されています。 WSLは、Windows上でネイティブのLinux ELF-64バイナリを直接実行し、Windowsの「ホスト」OS上でお気に入りのLinuxツールを実行し、ホストOSと同じファイルシステム、ネットワーク、プロセスリストなどを共有できます。

一方、Dockerは、追加機能の追加レイヤー(たとえば、Java、Ruby、MySQLなどの追加)を使用して、本質的に共有(ホスト)カーネルとOSをラップするコンテナーを迅速かつ簡単に作成する方法を提供します。また、必要に応じて、Dockerコンテナーのpcakge、デプロイ、共有を簡単に行うことができます。

WSLは、Windowsと統合するローカルで即時の真のLinux互換環境を必要とする開発者およびIT Pro向けの生産性ツールとして構築され、LinuxツールをWindowsファイル/アプリと並行して実行したり、対話したりできます。

Dockerは、隔離されたコンテナを迅速、確実に、繰り返し構築、展開、共有できるように構築されていますが、ホストマシンのOSとは深く統合していません。

WSLはローカルの開発者向け生産性機能ですが、本番ワークロードのホストとしては適していません-DockerやVMが輝く場所です。

WSLの詳細については、こちらの動画とドキュメントをご覧ください: https://aka.ms/learnwsl

11
Rich Turner

それは正しいです。あなたが言及しないことの1つは、WSLは現在、ram/8コアxeon CPUの高速ssd/lotsであっても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をインストールしています。

1
rayj