前提
そもそも何でそんなことをするんですか?という疑問があると思います(ただLinuxコンテナを使いたいならDocker Desktopを素直に入れてOK)ので少し前置きを書きます。
私が最終的にやりたいのは、WindowsコンテナとLinuxコンテナで通信をするということです。そのために同時にWindows/linuxコンテナを作成する必要があります。厳密にはDocker Desktopがあっても出来なくはないのですが、不便なのでこれに依存しない環境を整備したいです。
具体的に言うと、windowsターミナルでPowershellとUbuntuを開いておいてタブの切り替えでWindows/linuxコンテナを円滑に行き来して操作する、というのを実現したいです。
これに関して当記事を含めて3件書こうと思っています。
- WindowsでDocker Desktopを使わずにlinuxコンテナ (今ここ)
- WindowsでDocker Desktopを使わずにWindowsコンテナ
- Docker Desktopをアンインストールする際の注意点
補足:WindowsでLinuxコンテナを使う正攻法
Docker Desktopを使うことが一般的に推奨されています。以下の記事を参考に構築することが出来ます。
- WSL+Docker Desktop(推奨)
- Hiper-V+Docker Desktop
上記で述べた理由の通り、ここではDocker Desktopを使わない方法について書いていきます。
ライセンスの問題もあるので使わないで済むならその方が良いですよね。
既にDocker Desktop が入っている場合はアンインストールしてください。
本題
WSL2をインストール
まずはWSL2をインストールします。
特に指定しなければUbuntuがインストールされるはずです。
Dockerをインストール
UbuntuにDockerをインストールします。
主に2種類の方法が存在します。
- snapでインストール
- aptでインストール
snapでインストール
非常に簡単です。
sudo snap install docker
snapはパッケージ管理システムの中でも管理がしやすく、依存関係を含んだ自己完結型として運用されます。snapを使ってインストールすると、ホームディレクトリ下にsnapディレクトリができ、その下にdockerが配置されます。
aptでインストール
aptでインストールする場合はGPG鍵が必要です。GPG鍵はソフトウェアの提供元が用意した暗号鍵で、これを利用して検証することで不正なパッケージのインストールを防ぐことができます。
手順は以下のサイトで確認できます。そのままでは私には難しかったのでAIに相談しながら進めました。
docker起動
無事インストールが出来たらdockerを起動できるか確認してみます。私は動かしたいDockerfileがあったのでそれを試しましたが、特にないなら以下のコマンドで確認できます。
#コマンド
docker run hello-world
#出力結果
~~~
Hello from Docker!
This message shows that your installation appears to be working correctly.
~~~
念のためpowershellを開いて同じコマンドを実行しましょう。エラーになるはずですが、もしならない場合はDocker Desktopがアンインストール出来ていないので確認してください。
次へ
おめでとうございます!成功です!
Docker Desktop無しでlinuxコンテナが使えるようになりました。次はWindowsコンテナを利用できるように準備しましょう~!