Docker Desktop for Windows が 2022/01/31 までの猶予期間も終わったので、 Docker Desktop を使わないで、 Windows 環境において Docker が使える環境作りが必要になる場合もあるかと思います。
WSL2 環境の整備
Windows 10 以降の環境では WSL2 (Windows Subsystem for Linux バージョン2) を使って、 Ubuntu の環境を作り、そこに Docker をインストールするという方法を使います。
今回 WSLはバージョン2であることも大切と考えていますので、 wsl -l -v コマンドを実行して、 VERSION 2 であることを確認しておきます。
もし、バージョンが 2 ではない場合には、WSL2 Linux カーネル更新プログラムを適用して、以下のコマンドを実行してバージョンを変更します。
wsl --set-version Ubuntu-20.04 2
バージョンの変更が完了したら、先ほどのコマンドを実行してバージョン2となっているか確認しておきます。
WSL2 の Ubuntu に Docker をインストール
Docker CE (Community Edition) をインストールするために、以下のようにパッケージを追加・インストールをしていきます。
apt が https でも動作するようにパッケージ追加
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common cgroupfs-mount
docker のリポジトリを使うため GPG 登録
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
リポジトリの登録
以下のコマンドでリポジトリを登録します。
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
Docker CE をインストール
以下のコマンドを実行してインストールします。
$ sudo apt install docker-ce
通常の Linux 環境であれば Docker がこれで動き出すのですが、 WSL の環境では systemd が動いていないため、自動ではサービスが動いていない状態になっています。
通常ユーザーで docker コマンドを実行したいので、 docker グループに追加しておきます。
$ sudo usermode -aG docker $USER
Docker Compose インストール
docker-compose コマンドも使いたいことが多いのでこの時点でインストールしておきます。
$ curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m`
$ chmod +x ~/docker-compose
$ sudo mv ~/docker-compose /usr/local/bin
docker サービスの起動
シェルで以下のコマンドを実行して、 docker サービスを起動します。
$ sudo cgroupfs-mount
$ sudo service docker start
このコマンドを実行してサービスが起動するので、docker を使う前にはこれらのコマンドを実行するのを忘れないようにしましょう。
動作の確認
nginx のコンテナを動かしてみて、動作を確認してみます。ここでは簡単に以下のコマンドを実行します。
$ docker run -p 80:80 -d nginx
起動後、 http://localhost/ にアクセスを行い、 nginx のページが表示されれば上手く動作しています。
まとめ
今回は WSL2 環境 Ubuntu を用いて環境を作る方法を紹介しました。もちろん VirtualBox を使って Linux 仮想マシンを作り、そこに Docker をインストールする、という方法も出来ますが、より手軽に出来る WSL2 で作ってしまうのもアリだと私は思います。
コメント