docker-compose が v2 になっていたので使えるようにした

Install Docker Compose | Docker Documentation の手順が基本です。

docker-compose ではなく、docker compose で使えるようになるということのようですね。


自分は下記のようなスクリプトを用意して実行することでインストールしました。

mkdir -p $HOME/.docker/cli-plugins
VERSION=v2.0.1
OS_ARCH="-linux-x86_64"
DL_URL=https://github.com/docker/compose/releases/download/${VERSION}
CMD="$HOME/.docker/cli-plugins/docker-compose"
wget -O "${CMD}" "${DL_URL}/docker-compose${OS_ARCH}"
chmod +x "${CMD}"

システムワイドに有効にしたい場合は /usr/local/lib/docker/cli-plugins/ におけば良いです。

$ sudo cp docker-compose /usr/local/lib/docker/cli-plugins/
$ sudo chown +x /usr/local/lib/docker/cli-plugins/docker-compose

動作確認

$ docker compose version
Docker Compose version v2.0.1

Ubuntu 20.04 で、compose-switch はインストールしてみましたが、リポジトリ経由でインストールした /usr/bin/docker が書き換えられてしまったり、docker compose version を実行してもなぜか v1 の /usr/local/bin/docker-compose が動作してしまう。docker-compose を docker-compose-v1 とファイル名を変更しても、動作が変わらないといったことが起きたので、利用しないことにしました。docker-ce, docker-ce-cli は再インストールして戻しました。

下記のようなスクリプトを用意して置き換えておくというのでも良い気がするけど、シェル経由で起動となるあたりが、どういう影響があるのか微妙な気がしていて、採用してません。

echo '#!/bin/sh' > ~/.local/bin/docker-compose
echo '/usr/bin/docker compose $@' >> ~/.local/bin/docker-compose
chmod +x ~/.local/bin/docker-compose
同じタグの記事: Docker
同じカテゴリの記事: Linux