目次
1. Docker for Windows から Docker Desktop へ
2018年に WSL の docker client から、Docker for Windows の docker daemon を使う手順 という記事を書いたのですが、その後についてです。
当時 Docker for Windows と呼ばれていたツールは、現在では Docker Desktop という名前になっており、Mac用のツールと同じ名前で扱われるようになりました。
2. WSL から docker.exe コマンドを実行する
以前の記事にも書いたように、Docker for Windows で提供されていたクライアント側コマンド docker.exe
は WSL からだとインタラクティブな処理でエラーが発生していました。
しかし、現在ではインタラクティブな処理であってもエラーにならないようです。こうなると、WSL 側で Docker のパッケージをインストールする必要もないということになります。
実際に WSL 側から docker.exe
コマンドを実行しているスクリーンショットを載せておきます。パスも通っているので、docker.exe
という名前そのままでコマンドが実行できます。
3. Docker Desktop 側の設定について
Docker Desktop 側の設定についてですが、以前の記事で説明していた「Expose daemon on tcp://localhost:2375 without TLS」という設定項目にチェックを入れる必要もありませんし、~/.profile
ファイルに DOCKER_HOST
を書いておく必要もありません。
4. おわりに
現時点では Docker Desktop をそれほど使っていないため、問題に気付いていないということも考えられます。その場合は本記事に追記する予定です。
随分と便利になりました。
5. パスについての補足
WSL 側から docker.exe を実行する際のパラメータに、パスを指定する必要がある場合についての補足です。
例えば `pwd`
や $(pwd)
と記述してコマンドを展開したい場合(pwd
は現在いるパスを出力するコマンドです)、Linux上のシェルで展開されるため Linux用のパスが出力されますが、docker.exe は Windows 用のプログラムなので、Windows 用のパスを渡さないとエラーになります。この場合は、`wslpath -w $(pwd)`
や $(wslpath -w $(pwd)))
と書き換えるとうまくいきます。