Docker ToolBoxからDocker Desktopへ移行してみた
筆者の環境(前提としている読者の環境)
・Windows10 Home 64bit(Proではないです)
・バージョン:20H2(旧バージョンの1903でもOK)
・Docker ToolboxにてDocker使用(Oracl Virtual Box使用)
なぜDocker Toolboxを使用していたか?
・Windows10 HomeではWindows自身が備える仮想環境(Hyper-V)がないため、代わりにOracle Virtual Box(Docker Toolbox)を使用して仮想環境を構築しないといけなかったから。
※64bitでないとToolboxは動きません。32bitではダメです。
※Windows10 ProではWindows自身が備える仮想環境(Hyper-V)があるため、Docker for Windowsが利用できます。
ちなみに現在ではDocke Toolbox公式より、
Docker Toolbox has been deprecated and is no longer in active development. Please use Docker Desktop instead. See Docker Desktop for Mac and Docker Desktop for Windows.
Docker Toolbox公式より
と発表されており、サポート・開発が終了していることから非推奨となっています。
なぜDocker Desktopが使えるようになったか?
厳密に言うと以前から使えはしたのですが、設定(特に仮想環境関連)が非常に複雑なため、Docker toolboxの方を使用した方が簡単でした。
そこで、2020年5月よりWindows 10 May 2020 Update(version 2004)の配信が開始され、新機能の中のWSL2により、Windows10 HomeでもDocker Desktopが使用できるようになりました。
※WSL2とはWindows Subsystem for Linux2の略で、Windows 10上でLinuxを動作させるための仕組みであるWSLのバージョン2といった位置付けになります。詳しくは調べてみて下さい。
準備編
あらかじめDocker Toolboxで使用していたコンテナをイメージに変換した後にDocker hubのリポジトリにプッシュしておきます。方法は調べてください(後で別の記事で説明します)。
次に使用しているPCのバージョンを確認します。
「設定」-「システム」-「バージョン」から以下のようになっていれば OK です。
画像のバージョンになっていなければ、「設定」-「更新とセキュリティ」-「Windows Update」からアップデートします。
ちなみに、アップデートするときにOracle Virtual Boxをインストールしたままだとアンインストールしてくださいというメッセージが出ます。
実際にアンインストールしないと先に進めないのとDocker Desktopをインストールするにあたり結局アンインストールするので消してしまいましょう。
※バージョンアップの準備に時間がかかる→Oracle virtual boxをアンストと警告が出る→アンスト→再起動→またバージョンアップの準備する必要があるので、事前に下記の手順でOracle virtual boxをアンストしてからアップデートを始めた方が時間効率が良いと思われます。
筆者はGeekUninstallerを使用してDocker Toolbox関連のものをまとめて削除しました(勝手に削除してくれます)。無料で使えます。Geek.exeを立ち上げ、Oracle virtual box等を見つけてアンインストールします。アンスト後は一度再起動する必要があるので再起動します。
Docker Desktopインストール
Docker Desktop for Mac and Windows | Docker
ここから「Docker Desktop Installer.exe」をダウンロードします。
よく、コントロールパネルから「Hyper-Vを有効にする」「仮想マシンプラットフォームを有効にする」などの事前準備をしなければならないとありますが、必要ありません。全てDocker Desktopのインストーラーがやってくれます。
ダウンロードしたDocker Desktop Installer.exeを実行します。チェックはデフォルトのままでOKです。しばらく経つと「close and restart」と出てくるので押下します。ここで再起動されます。
再起動後、「WSL 2 installation is incomplete.」というダイアログがでてきます。
WSL2で使うLinuxカーネルのアップデートが必要なので、表示されているリンクにアクセスします(このダイアログはそのまま)。
画面の案内に沿って、「x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ」(msiファイル)をダウンロードして、実行(インストール)します。「Next」「Finish」と案内通りにするだけで大丈夫です。
その後、「WSL 2 installation is incomplete.」というダイアログの「Restart」を押下します。するとDockerが再起動されます。タスクトレイのDockerのアイコンが赤から白に変わっていれば成功です。
しばらくするとDocker Desktopが起動します。「Start」を押下するとチュートリアルに移行するので、自由に試してみてください。「Start」押下後「Next」でスキップできます。
その後、「設定」-「詳細情報」-「システムの詳細設定」-「環境変数」から
DOCKER_TLS_VERIFY DOCKER_CERT_PATH DOCKER_HOST DOCKER_TOOLBOX_INSTALL_PATH
を削除しておきます。これらを削除しないと、Docker Toolboxで設定した環境変数をDocker Desktopでも読み込んでしまうためです。
これでとりあえずのDocker ToolboxからDocker Desktopへの移行は終わりました。あとはDocker Desktopの方にDocker hubのアカウントでログインして、イメージをpullしてくれば以前と同じ環境のできあがりです。
筆者はDocker Desktopとvscodeを連携して使用しています。vscodeの拡張機能で「Remote Development」「Remote Containers」「Remote WSL」をインストールするとvscodeでDockerの操作ができるようになるので、操作が楽になります。vscodeでは他にも便利なDocker拡張機能があるので随時また記事にしていきます☆
長い移行作業お疲れ様でした(o*。_。)oペコッ