【Docker】Windows Terminalを使ってWindows上にあるUbuntuでDockerを使えるようにする

■ はじめに

https://dk521123.hatenablog.com/entry/2020/12/08/165505

で、Windows上で Ubuntu を起動できるようにしたのだが、
Windows Terminal (ターミナル)を使うと、便利に切り替えられるようなので
メモってみた。

最終的に、Windows Terminalを使ってWindows上にあるUbuntuで
Dockerを使えるようにすることが目標。

これで、大分、Windowsでも開発がスムーズになる印象。

ちなみに、以下の関連記事で以前、
Windows/VirtualBoxを使って、AWSのローカル環境を設定したが、
Windows/WSL2/Windows Terminalにより、更に開発しやすくなった。

https://dk521123.hatenablog.com/entry/2019/12/14/010524
https://dk521123.hatenablog.com/entry/2019/12/16/231149

目次

【1】Windows Terminal とは?
 A)種類

【2】Windows Terminalの環境設定
 A)「Microsoft Store」以外で設定するには

【3】Windows Terminal あれこれ
 1)デスクトップにショートカットアイコンを表示させるには
 2)デフォルト表示を変更するには

【4】Ubuntuを設定し、Dockerを使えるようにする
 1)エラー「The command 'docker' could not be found in this WSL 1 distro.」が表示
 2)エラー「The command 'docker' could not be found in this WSL 2 distro.」が表示

【1】Windows Terminal とは?

https://docs.microsoft.com/ja-jp/windows/terminal/

より抜粋
~~~~~~~
コマンド プロンプト、PowerShell、Linux 用 Windows サブシステム (WSL) など
のコマンドライン ツールと
シェルのユーザー向けの最新のターミナル アプリケーション
~~~~~~~

A)種類

1)Windows Terminal ... 正規版
2)Windows Terminal Preview ... プレビュー版で開発中の最新機能を含む

【2】Windows Terminalの環境設定

* 「Microsoft Store」で「Windows Terminal」を検索する
 => あとは、入手して、インストールするだけ

A)「Microsoft Store」以外で設定するには

https://github.com/microsoft/terminal/releases

から、自分の好きなバージョンのものをダウンロードしてきて
設定することも可能。

【3】Windows Terminal あれこれ

1)デスクトップにショートカットアイコンを表示させるには

https://stackoverflow.com/questions/62894666/path-and-name-of-exe-file-of-windows-terminal-preview

より
~~~~~
1) %LocalAppData%\Microsoft\WindowsApps まで移動
2) wt.exe があるので、右クリックで [送る]-[デスクトップ(ショートカットを作成)]を選択
~~~~~

2)デフォルト表示を変更するには

起動した際に、Ubuntuが表示されるようにしたい場合、以下の手順で行った。

1) Windows Terminalを起動し、タブの横にある「逆三角(プラスじゃない方)」を選択し
 [設定]を押下する
 => 「settings.json」が開く

※ 念のため、「settings.json」を別名で保存し、バックアップを取っておく
~~~~~~
%LocalAppData%\Packages\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe\LocalState
~~~~~~

2) 「settings.json」からUbuntuのGUIDをコピーし、"defaultProfile"の値に張り付け、保存する

~~~~~~
    "defaultProfile": "{<UbuntuのGUID>}", <<= b) ここに張り付ける

            {
                "guid": "{<UbuntuのGUID>}", <<= a) ここをコピー
                "hidden": false,
                "name": "Ubuntu",
                "source": "Windows.Terminal.Wsl"
            },
~~~~~~

【4】Ubuntuを設定し、Dockerを使えるようにする

https://dk521123.hatenablog.com/entry/2020/12/08/165505

で、Windows上でUbuntuを設定したが、
その Ubuntu上で docker コマンド(docker --version)したら
いくつか手順を踏まなくてはならなかったので、メモする

1)エラー「The command 'docker' could not be found in this WSL 1 distro.」が表示

Ubuntu上で docker コマンド(docker --version)したら、以下のエラーが表示。
~~~~~~
The command 'docker' could not be found in this WSL 1 distro.
We recommend to convert this distro to WSL 2 and activate
the WSL integration in Docker Desktop settings.

See https://docs.docker.com/docker-for-windows/wsl/ for details.
~~~~~~

対象方法
https://stackoverflow.com/questions/63497928/ubuntu-wsl-with-docker-could-not-be-found

より。

1) コマンド「wsl --list --verbose」をコマンドプロンプトで、実行する
~~~~~~
wsl --list --verbose

  NAME                   STATE           VERSION
* docker-desktop         Running         2
  docker-desktop-data    Running         2
  Ubuntu                 Running         1 << version 1であることを確認
~~~~~~

2) 「wsl --set-version <ディストリビューション> 2」により、
 WSL 1から WSL 2に変更する
~~~~~~
wsl --set-version Ubuntu 2
~~~~~~
=> 再度「wsl --list --verbose」を実行すれば、Version2にあがっているはず。

2)エラー「The command 'docker' could not be found in this WSL 2 distro.」が表示

  上記の1)を行ったので、再度、
Ubuntu上で docker コマンド(docker --version)したら、以下のエラーが表示。
~~~~~~
The command 'docker' could not be found in this WSL 2 distro.
We recommend to activate the WSL integration in Docker Desktop settings.

See https://docs.docker.com/docker-for-windows/wsl/ for details.
~~~~~~

対象方法
https://qiita.com/mofumoffy223/items/4f749dc10bd56b72feb5

より。

1) Docker Disktopを開き、[設定アイコン]-[Resources]-[WSL INTERRATION]を選択
2) 「Enable integration with additional distros:」配下にある「Ubuntu」をONにする
3) 「Apply & Restart」ボタン押下 << ★重要★
4) Ubuntu上で docker --version を実行(今回は、成功!)

参考文献

https://mebee.info/2019/10/11/post-1759/
https://news.mynavi.jp/itsearch/article/devsoft/4887
https://qiita.com/rubytomato@github/items/e88cab84f36e44797cf2

関連記事

Docker ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/04/24/160044
Docker Desktop / WSL2 ~ Windows / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2020/12/08/165505
Windows / Docker Desktop でのトラブルシューティング
https://dk521123.hatenablog.com/entry/2020/12/11/115814