状況
EC2インスタンス(Amazon Linux 2)上で「docker-compose」を使っていたが
2023年6月でサポート終了とのことで「docker compose」を使えるようにしたい。
すでに入っていないか確認したところ、以下のように表示されてしまった。
$ docker compose version
docker: 'compose' is not a docker command.
See 'docker --help'
環境
OS:Amazon Linux 2
(AMI名:amzn2-ami-kernel-5.10-hvm-2.0.20230119.1-x86_64-gp2)
$ docker version
Client:
Version: 20.10.17
やったこと
[手段1] docker公式のインストール方法を試す
こちらに従って普通にインストールしようとしたところ、次のエラーに遭遇しました。
$ sudo yum install docker-compose-plugin
読み込んだプラグイン:extras_suggestions, langpacks, priorities, update-motd
amzn2-core | 3.7 kB 00:00:00
224 packages excluded due to repository priority protections
パッケージ docker-compose-plugin は利用できません。
エラー: 何もしません
### 別のEC2インスタンスでも...
$ sudo yum install docker-compose-plugin
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
No package docker-compose-plugin available.
Error: Nothing to do
[手段2] Githubにある説明を見ながらインストール
こちらに従ってみます。
- ドキュメント指定の場所(今回は
/usr/local/lib/docker/cli-plugins
)を用意し - releaseから該当のファイルをダウンロードする
- ファイル名は
docker-compose
にする - ダウンロードしたファイルを
chmod +x
で実行可能な状態にする - 使えるか確認する
1. 必要なディレクトリを用意
$ sudo mkdir -p /usr/local/lib/docker/cli-plugins
$ cd /usr/local/lib/docker/cli-plugins
2. docker composeの実行ファイルをダウンロード
releaseページから、自分がほしいファイルを探してURLをコピーし、curl
で取得しました。
$ curl -OL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 45.4M 100 45.4M 0 0 25.0M 0 0:00:01 0:00:01 --:--:-- 40.2M
curl
コマンドのオプションはこちらを参考にしました
3 & 4. リネーム、実行権限付与
$ mv docker-compose-linux-x86_64 docker-compose
$ chmod +x docker-compose
5. コマンドを打てるか確認
EC2へのsshを一度し直す必要がありました。
$ docker compose version
docker: 'compose' is not a docker command.
See 'docker --help'
↓ SSH接続し直すと...
$ docker compose version
Docker Compose version v2.16.0
バージョンが確認でき、インストール成功です。