Docker-compose: /usr/local/bin/docker-compose: 行 1: Not: コマンドが見つかりません 質問する

Docker-compose: /usr/local/bin/docker-compose: 行 1: Not: コマンドが見つかりません 質問する

Raspbian busterをインストールしたRaspberry Pi 3+にDocker-composeをインストールしようとしています。ドッカー.コマンドを入力すると、sudo curl -L https://github.com/docker/compose/releases/download/1.20.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-composeダウンロード用のテーブルが表示されます

結果

何もダウンロードされていないようです。 にファイルがdocker-compose保存されているだけです/usr/local/bin/docker-compose。 それを開くと、空でした。 次に、 コマンド を入力するとdocker-compose -v、エラーが表示されました/usr/local/bin/docker-compose : line 1: Not: command not found。 解決策を知っている人はいますか?

ベストアンサー1

更新: 20230829

docker-compose の最新リリースの自動ダウンロードを修正しました

の最終更新ではcurl、 の最新リリースのダウンロードを自動化する私のスクリプトがうまく機能しなかったようですdocker-compose。そこで、Ubuntu 22.04.3 で動作することがテスト済みで確認されている、再調整されたスクリプトを以下に示します。GitHub は IPv6 を好まないため、コマンドで IPv4 を強制しましたcurl

明らかに、ないUbuntu を使用している場合は、ダウンロードのターゲット パスを適宜変更してください...

#!/bin/bash

DOCKERCOMPOSECURRENTRELEASENUMBER="$(curl -4 -k --http2 https://github.com/docker/compose/releases | grep -m1 '<a href="/docker/compose/releases/download/' | awk -F/ '{print $6}')"

if [[ ! -f /usr/local/bin/docker-compose ]]; then

    curl -L "https://github.com/docker/compose/releases/download/"$DOCKERCOMPOSECURRENTRELEASENUMBER"/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    chmod +x /usr/local/bin/docker-compose

    docker-compose --version

fi

イントロ:

docker-compose承認された回答に従ってリポジトリからインストールできますが、 apt-cache show docker-compose20211201 時点ではリポジトリのバージョンは v1.25 のみであり、現在の v2.1.1 リリースから約 2 年遅れていることがわかります。より新しい docker ファイル バージョンを利用するには、Github のダウンロードを機能させる必要がありました。

短い答え:

ドッカーDocker-Compose のドキュメント間違っているコマンドのバージョン番号の前に「"; その結果、ダウンロードは失敗します。どうやらこれは長年間違っていたようです...

より長い回答:

Docker-Compose ドキュメントから以下のコマンドを実行し、Docker のガイダンスに従ってバージョン「1.29.1」を「2.1.1」に置き換えました。

別のバージョンの Compose をインストールするには、1.29.2 を使用する Compose のバージョンに置き換えます。

sudo curl -L "https://github.com/docker/compose/releases/download/2.1.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

結果としてダウンロードされたのは、23 MBのバイナリに対して9 KBでした。明らかにリンクは偽物でした。そこで、コマンド「https://github.com/docker/compose/releases」で使用されているアドレスのルートに移動し、必要なDocker-Composeのバージョンを右クリックして「リンクアドレスをコピー

これにより、Dockerが人々に使用を勧めていたリンクには「https://コマンドのアドレス部分のバージョン番号の前に「」を付けます。

解決:

序文「以下のようにリンク内の必要なバージョン番号の前に「」を追加すると、コマンドが正常に実行されます。

sudo curl -L "https://github.com/docker/compose/releases/download/v2.1.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

ちなみに、私もdocker-composeUbuntu 20.04 LTSのaarch64バイナリを使用してRaspberry Piにダウンロードしていました。しかし、「壊れたダウンロード アドレスの修正は、どのプラットフォームでも機能するはずです。」

おすすめ記事