3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

WSL2の理解度を深める、Ubuntu と Docker Desktop とコンテナ の知見(その4/4)

Last updated at Posted at 2021-07-18

その1 https://qiita.com/ssugimoto/items/668d33e4b151933b2e19
その2 https://qiita.com/ssugimoto/items/1b19083f5045e190e4ae
その3 https://qiita.com/ssugimoto/items/3b4a26711604bb6d56d2
その4 この記事

Docker Desktop for Windowsとwsl2 の関係や設定

wsl2 側

  • wsl2として、dockerのバックエンド側を docker-desktopを使うようにしている場合(wsl2 Ubuntuをインストールしていない、またはwsl2としてdocker-dektopを使うようにしている場合) や
  • マイクロソフトストアから wsl2 Ubuntuはインストールせずに、wsl2をインストールした後に Docker Desktop for Windowsのみインストールした場合はwsl -l -vの結果でUbuntuの行はなく、docker-desktop がデフォルトです。

wsl -l -v コマンドにて確認
wsl2 Ubuntu をインストールしていない場合は、その行は表示されず、Docker Desktop for Windowsを入れていれば、docker-desktopに * がつく

>wsl -l -v
  NAME                   STATE           VERSION
  docker-desktop-data    Running         2
* docker-desktop         Running         2

wsl2 Ubuntu-XX をインストールし wsl2 として Ubuntu-XX を使うようにしている場合(おそらく多くの人はこの状態)

>wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu-20.04           Running         2
  docker-desktop-data    Running         2
  docker-desktop         Running         2

* がどこに付くかにより変わる。上記はwsl2のwslconfig として Ubuntu-20.04 をデフォルトにしている。

Docker Desktop側

  • docker-desktopとして、wsl2を使うかどうかの設定は、 General -> use the WSL 2 based engine がチェックONだと、wsl2としてdocker-desktop使う設定です

    • image.png
  • 他の項目の設定、Docker Desktop for Windowsのデフォルト設定ではwsl2 Ubuntuとwindows内のdocker desktopは連携しない。

    • Settings Resources -> WSL Integration で Enable integration with my default WSL distro はチェックON、Ubuntu-XX等のLinuxディストリビューションはチェック・オフ
      11.png

上記の wsl -l -v の結果で、「* docker-desktop」の状態で、WindowsでDocker desktopを動かし、Windows内の任意のディレクトリに、コンテナ用のファイルを置き、docker run や docker-composeで起動すれば、Docker Desktop for Windowsがコンテナを動かしている状況になります。(Docker Desktop for mac を使うときや、Linuxでdockerコンテナ使うときと同じ)

また、(その3)にて記載の通り、コンテナ用のファイルとして、リモートコンテナのファイルを置けばVSCodeのリモートコンテナを使うことできる。VSCodeのリモートコンテナを使う場合にwsl2 Ubuntuはインストールしていなくても良い(言い換えると、Docker desktop の Settings Resources -> WSL Integration でLinuxディストリビューションは何もなくても良いし、既にインストールしているならば Ubuntu-XX をオフにしても良い)

参考

Dockerの公式ドキュメント
https://docs.docker.com/docker-for-windows/wsl/

3
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?