WSL1からDocker Desktopを利用する方法について説明します。WSL2であればUbuntu上にDockerを直接インストールすることが可能ですが、WSL1では難しいため、DockerエンジンとしてDocker Desktopを利用し、WSL1のDockerクライアントから接続するようにします。
Contents
Docker Desktop for Windowsのインストール
こちらのページからインストーラーをダウンロードして実行します。
https://docs.docker.com/desktop/install/windows-install/
DockerのデーモンをTCPで公開
Docker Desktopを起動し、画面右上の歯車アイコンをクリックすると設定画面が開きます。Generalの「Expose daemon on tcp://localhost:2375 without TLS」をチェックし、「Apply & restart」ボタンをクリックします。これでWSL1からTCPを利用してDockerに接続することができるようになります。
WSLにDockerクライアントをインストール
こちらに記載の手順に従って、WSLのUbuntu上にDocker CLIをインストールします。ただし、Docker Engine不要なので、apt-get installの箇所はdocker-ce-cliだけを指定します。
$ sudo apt-get install docker-ce-cli
※Docker Composeを利用する場合はプラグインをインストールします。
$ sudo apt-get install docker-compose-plugin
WSLにDOCKER_HOST環境変数を設定
利用ユーザーのホームディレクトリの.bash_profileまたは.bashrcにDOCKER_HOST環境変数を設定します。この設定によりDockerクライアントはDocker Desktopを向くようになります。
$ vi ~/.bash_profile
export DOCKER_HOST=tcp://localhost:2375
ターミナルを再起動するか、sourceコマンドを利用すると、環境変数が反映されます。
$ source ~/.bash_profile