2021/08/17 追記:今日になって、違うWindows PCのDocker Desktop for WindowsをUpdateしてみたところ、そちらも3.6.0(67351) になったんですけどdocker-composeのバージョンは”1.29.2″でした。Macと同じようにdocker-composeとdocker-compose-v1がインストールされているんですけど、どちらも同じバージョンになっています。念のために、docker-composeが”v2.0.0-rc.1″になってるPCでも再度Check for Updatesを実行してみても最新だと言われるだけでした。謎です!
現時点(2021/08/16)では、Docker Desktopのバージョンとしては3.6.0 (67351)が最新となっています。
ところが、このバージョンになってからDocker Desktop for Windowsを使う場合だけ、docker-composeの挙動が違っていました。どうしてだろうということでdocker-composeのバージョンを見ると”v2.0.0-rc.1″になっています。
念のためにDocker Desktop for Macを見ると、バージョン3.6.0 (57351)でもdocker-composeのバージョンは”1.29.2″でした。
そこで、WSL2にインストールしているUbuntuからコマンドの様子を見ると次のように/usr/binデイレクトリーにインストールされています。
$ ls /usr/bin/docker*
/usr/bin/docker@ /usr/bin/docker-compose-v1@
/usr/bin/docker-compose@ /usr/bin/docker-credential-desktop.exe@
$ ls -l /usr/bin/docker*
lrwxrwxrwx 1 root root 48 Aug 14 12:02 /usr/bin/docker -> /mnt/wsl/docker-desktop/cli-tools/usr/bin/docker*
lrwxrwxrwx 1 root root 56 Aug 14 12:02 /usr/bin/docker-compose -> /mnt/wsl/docker-desktop/cli-tools/usr/bin/docker-compose*
lrwxrwxrwx 1 root root 59 Aug 14 12:02 /usr/bin/docker-compose-v1 -> /mnt/wsl/docker-desktop/cli-tools/usr/bin/docker-compose-v1*
lrwxrwxrwx 1 root root 71 Aug 14 12:02 /usr/bin/docker-credential-desktop.exe -> /mnt/wsl/docker-desktop/cli-tools/usr/bin/docker-credential-desktop.exe*
docker-composeともう一つdocker-compose-v1がありますから、それぞれのバージョンを確認してみます。
$ docker-compose version
Docker Compose version v2.0.0-rc.1
$ docker-compose-v1 version
docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019
docker-composeが”v2.0.0-rc..1″で、docker-compose-v1が”1.29.2″になっていました。一応は、現行の”1.29.2″がdocker-compose-v1として保存されているようです。
同様にしてMac側の様子を見ると、こちらは/usr/local/binディレクトリーにインストールされていました。
$ ls /usr/local/bin/docker*
/usr/local/bin/docker@
/usr/local/bin/docker-compose@
/usr/local/bin/docker-compose-v1@
/usr/local/bin/docker-credential-desktop@
/usr/local/bin/docker-credential-ecr-login@
/usr/local/bin/docker-credential-osxkeychain@
こちらも、docker-composeとdocker-compose-v1がインストールされていますから、それぞれのバージョンを確認してみます。
$ docker-compose version
docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.9.0
OpenSSL version: OpenSSL 1.1.1h 22 Sep 2020
$ docker-compose-v1 version
docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.9.0
OpenSSL version: OpenSSL 1.1.1h 22 Sep 2020
こちらは、何故か両方とも”1.29.2″になっていました。
上記のような結果から、Docker Desktop for Windowsを使用しているWSL2上のUbuntuにはaliasを入れてdocker-compose-v1の方を使うことにしています。
alias docker-compose=docker-compose-v1
それにしてもDocker Desktop for Windowsだけ、RC状態のdocker-composeになっているのは謎です!