質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

2回答

1320閲覧

Docker Desktop for Windows でLinux用ディストリビューションをインストールする意味が知りたい

tomy

総合スコア1

WSL(Windows Subsystem for Linux)

WSL (Windows Subsystem for Linux) は、Windows10のOS上でLinux向けのバイナリプログラムを実行可能にする機能です。また、WindowsOSのAPIを用いた仕組みを提供しており、Linux側からWindowsOSへのファイルアクセスもできます。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

1クリップ

投稿2021/06/26 01:46

編集2021/06/27 03:47

初心者です。いくら調べても答えが見つからない、素朴な疑問があります。

####経緯

Docker Desktop for Windows を用いて、Webサイト開発をはじめたものです。
以前はAmpps(Xamppに似たLAMP環境を作るツールです)を用いてましたが、最近は Docker Desktop for Windows が主力となってきました。

###素朴な疑問(知りたいこと)
Docker Desktop for Windows を始めたときからの疑問で、いろいろと調べてみても、いまいちピンと来ていないことがあります。
それは Docker Desktop for Windows の環境構築方法を紹介しているあらゆるページで、【Microsoft StoreでLinux用ディストリビューションをインストールする】というステップがあることです。
このステップ(Linux用ディストリビューションのインストール)を飛ばしても、LAMP環境として普通にWeb開発ができています。
具体的にやっているレベルとしては、Apache+PHP+DB(MySQLやPostgres)でやるWebサイトの開発です。

Docker Desktop for Windows だけでもWebサイト開発ができるのに、UbuntuなどのLinux用ディストリビューションを入れる意味が知りたいです。

ずっともやもやしているので、このあたりをご存知の方、ぜひご教授いただけたらうれしいです。

よろしくお願いいたしますm(_ _)m

###補足情報(私の現在の環境)

Windows PowerShell で

wsl -l -v

と入力すると

NAME STATE VERSION * docker-desktop-data Running 2 docker-desktop Running 2

と表示されます。

wsl -l --all

と入力すると

Linux 用 Windows サブシステム ディストリビューション: docker-desktop-data (既定) docker-desktop

と表示されます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomy

2021/06/27 03:48

【素朴な疑問】とタイトルに含めていた表記を削除しました。
guest

回答2

0

ベストアンサー

Docker Desktop for WindowsというプロダクトはDockerのホスト機能だけでなく、Docker Integration PackageというCLIツール等を含んだものとして提供されており、それを利用するためのUser Distribution(下図参照)としてUbuntu等ユーザーがインストールしたディストリビューションを利用する前提があるからじゃないですかね。

![イメージ説明

Docker ❤️ WSL 2 – The Future of Docker Desktop for Windows

投稿2021/06/26 04:06

編集2021/06/26 04:06
gentaro

総合スコア8947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomy

2021/06/27 03:39

こちらのコメントに対する返信が遅くなりまして、申し訳ありません。 初心者ゆえに回答先のリンク含めて理解するまでに時間がかかったのがその理由です。 関連する用語などを調べてきちんと回答しようと思い、結果遅いレスとなってしまいましたが、先に御礼のレスだけ先にしておけばよかったと反省しています。 自分なりに調べた結論としては、 Docker Desktop for Windows にはDockerを動かせるだけの最低限のLinux機能は含まれているので、Dockerの機能範囲で行えるイメージの取得や生成、コンテナ操作などで利用するのであればLinuxディストリビューションのインストールは必ずしも必要ない(DockerのイメージとしてUbuntsuのダウンロードもできますし)。 逆にWSL2の機能を生かしてDockerのコントロール外でLinuxを稼働させたい場合は、Microsoft StoreからLinux用ディストリビューションのインストールを推奨。 という理解をしました。これで解決&ベストアンサーとさせていただきましたが、解釈を大きく外していたらご指摘いただけますとうれしいです。
guest

0

このステップ(Linux用ディストリビューションのインストール)を飛ばしても、LAMP環境として普通にWeb開発ができています。
具体的にやっているレベルとしては、Apache+PHP+DB(MySQLやPostgres)でやるWebサイトの開発です。
Docker Desktop for Windows だけでもWebサイト開発ができるのに、UbuntuなどのLinux用ディストリビューションを入れる意味が知りたいです。

それぞれに一長一短があります。各方式の具体的な違いについては
図解:Windows10のLinuxコンテナ比較(LCOW、DockerDesktop VM、WSL2、VirtualBox)
の「4. 各コンテナ方式の特徴」あたりを参照ください。
(さすがにAmpps on win環境との比較は、別者なので記載ありませんが・・・)

それは Docker Desktop for Windows の環境構築方法を紹介しているあらゆるページで、【Microsoft StoreでLinux用ディストリビューションをインストールする】というステップがあることです。

検索すると多く出てくる主な理由として
・Docker for WINDOWSを利用するにあたって、WSL2をインストールしてMicrosoft Storeに用意されているLinux用ディストリビューションをインストールして利用した方が、他の方式と比較して相対的に簡単で起動も高速、windowsとの親和性が高いとされているから。
・WSL2はWindows 10 home editionでも利用できるため裾野が広がった(それまではHyper-V利用を前提とする方式の場合、Professional editionでしか利用できなかった) (home editionしか持ってないような日曜プログラマ(失礼)でも気軽に試せるようになった)
・「WSL2+Docker」がブログネタとして食いつきがよいと思われるから。
・鶏が先か卵が先かの理論になるが、結果として、「WSL2+Docker」の知見やエコシステム等が(他の方式に対して)スパイラル的に高まっているため、余計に「WSL2+Docker」推しが増えている?

等が挙げられるとおもいます

個人的には、個人開発を前提にするなら、多数派や「このビッグウェーブに~」みたいなのに媚びる必要は全くなく、使い慣れてるなら使い慣れてるものを使えばいいんじゃないですかね。

ただ、興味の視野を拡げていろいろ触っておくに越したことはないかともおもいます。

投稿2021/06/26 02:43

編集2021/06/26 03:03
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/06/26 04:46

低評価を入れた人は、理由を明記してください。
tomy

2021/06/26 05:56

ありがとうございます。説明が不足していたかもしれませんが、もともと「Docker Desktop for Windows+WSL2」で動かしてはいるんです。そのうえでUbuntuなどの「Linux用ディストリビューション」を入れる意義がよく分からなくて^^; でも、いただいた参考URLはとてもわかりやすくて、勉強になりました。
gentaro

2021/06/26 20:54 編集

質問文で > Docker Desktop for Windows だけでもWebサイト開発ができるのに、UbuntuなどのLinux用ディストリビューションを入れる意味が知りたいです。 と、質問したいポイントが明確に記載されているのに対して、この回答はただ「WSL2 + Dockerがよく推奨される理由」を述べており、あまりにも的外れだと思って低評価しました。 (私の回答を読めば自ずと気付く事だからいちいち理由を書きませんでしたが)
退会済みユーザー

退会済みユーザー

2021/06/27 00:26

御指摘ありがとうございました。質問文をきちんと読み込んでいなかった点反省いたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問