Ubuntu 18.04 で古い docker-compose をアップグレードする


バックグラウンド



私はUbuntu 18.04をインストールした古いシステムにいます.ユーザーが外部ネットワークと話すことを許可しない特定のセキュリティルールがあり、 docker-compose によってインストールされた古いバージョン sudo apt install docker-compose の使用に問題がありました.しかし、最新の docker-compose.yml 定義をサポートできるように、github から最新の docker-compose が本当に必要です.

ネットワークアクセスあり



github.com へのネットワーク アクセスがある場合の私のお気に入りの方法は、この article で説明されているとおりです.

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

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

docker-compose --version


しかし、ネットワークがない場合はどうでしょうか.

ネットワーク アクセスなし



幸いなことに、その古いUbuntu 18.04システムでは、他のマシンからダウンロードしたdocker-composeファイルをなんとかアップロードできました.

sudo cp docker-compose /usr/local/bin/docker-compose

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

docker-compose --version


うまくいくと思いましたよね?

しかし、次のエラー メッセージが表示されます.

docker-compose: error while loading shared libraries: libz.so.1: failed to map segment from shared object


解決策は次のコマンドを実行することです.いくつかの説明を参照してください

sudo mount /tmp -o remount,exec


これで、古い Ubuntu 18.04 に最新の docker-compose がインストールされます.