エラー状況
この記事は以下のようなエラーが出た方を対象としています。
// 実行したコマンド
# sudo curl -L "https://github.com/docker/compose/releases/download/2.12.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# docker-compose -v
// エラー出力
/usr/local/bin/docker-compose: line 1: Not: command not found
原因
実行したcurlコマンドのバージョンを指定する句にv
が抜けているためです。
バージョンを指定する句は、以下の2.2.2
の部分です。
# sudo curl -L "https://github.com/docker/compose/releases/download/2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
解決方法
単純にv
を付けてバージョンを指定しましょう。/v2.12.2/
という書式で記述すれば問題ありません。
以下のコマンドは実際の例です。
# sudo curl -L "https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
確認
コマンドが実行できたら、docker-composeがインストールできているか確認しましょう。
以下のようにバージョンが出力されたら成功です。
# docker-compose -v
Docker Compose version v2.12.2
おまけ
なぜこのようなミスが起こるのか考えてみました。
おそらく、docker-composeのバージョン1系だとv
を付けずにダウンロードを行うためだと考えられます。
1系の頃の記事で作業を進め、バージョンの句だけを/2.2.2/
などに変えて実行すると、このような状況に陥ります。
この限りではないですが、この原因が最も考えられるのではないでしょうか。