さまざまな環境での Docker Compose のインストール方法

さまざまな環境での Docker Compose のインストール方法

1. オンラインインストール

現在、Linux x86アーキテクチャのオンラインインストールのみを試しました

1. docker-composeをダウンロードする

docker-composeを/usr/local/bin/にダウンロードします。

$ sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

2. docker-composeの実行権限を与える

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

3. 確認する

[root@localhost bin]# docker-compose -version
docker-compose バージョン 1.21.2、ビルド e7de1bc

2. オフラインインストール

(I) Linux x86 への docker-compose のインストール手順

方法1.バイナリファイルを使用してインストールする

Linux x86 の場合、https://github.com/docker/compose/releases から対応する Linux バージョンの docker-compose バイナリ ファイルをローカル コンピューターにダウンロードして Linux に送信し、/usr/local/bin/ にコピーするだけで、通常どおり使用できます。

方法2. Pythonを使用してコンパイルしてインストールする

github から dockerCompoes ソース コードをダウンロードします。次に、次の手順に従います。

  • docker-composeソースディレクトリに入る
  • python setup.py installを実行します

2. バイナリファイルを使用しないその他のシステムインストールプロセス

一部のアーキテクチャの docker-compose バイナリ ファイルは公式に提供されていないため、手動でコンパイルしてインストールする必要があります。その他の公式のものもPythonを使用して手動でコンパイルおよびインストールする必要があります。

試してみたところ、どうやらpythonコンパイルを使う方法のみで正常にインストールできるようで、以下の3つの方法は全て失敗しました。

Pythonを使用してコンパイルしてインストールする

docker-compose github ソース コードと python コンパイルおよびインストールを使用します。

  • docker-composeのソースディレクトリに入る
  • python setup.py installを実行します

エラーを報告する

引き続き、requests10 バージョン エラーが報告されます。バージョン 10 を削除し、バージョン 16 に変更しました。また、docker に必要な request2.14 以上も報告されます。これは、ダウンロードした docker-compose ソース バージョンが、インストールされている docker バージョンに対応していないことを意味します。

ダウンロードして、ソースコードの下の requirements.txt ファイルでリクエストのバージョンを確認し、インストールされている docker に対応するバージョンを見つけて、再度インストールします。texttable のバージョンが再び正しくないことが報告されています。さらに、ネットワーク接続がないと自動的にダウンロードすることはできません。手動で https://pypi.org/project/texttable/ にアクセスして、対応するバージョンを見つけ、ダウンロード、コンパイル、インストールすることしかできません。

不足している依存関係を修正する

依存関係が不足しているなどの問題が発生した場合は、Python の公式 Web サイトからダウンロードし、コンパイルしてインストールする必要があります。例:

2 つの依存関係 (requests と texttable) をインストールし、docker-compose が docker バージョンに対応していることを確認します。 Pythonのコンパイルとインストールを続行します

  1. docker-composeソースディレクトリに入る
  2. python setup.py installを実行します

エラー:

/usr/lib/python2.7/site-packages/docker_compose-1.21.2-py2.7.egg をインストールしました
docker-compose==1.21.2 の依存関係を処理しています
docker<4.0,>=3.3.0を検索しています
https://pypi.python.org/simple/docker/ を読む
https://pypi.python.org/simple/docker/ でのダウンロード エラー: [Errno -2] 名前またはサービスが不明です -- 一部のパッケージが見つからない可能性があります。
'docker' のインデックス ページを取得できませんでした
すべてのパッケージのインデックスをスキャンしています (これにはしばらく時間がかかる場合があります)
https://pypi.python.org/simple/ を読む
https://pypi.python.org/simple/ でのダウンロード エラー: [Errno -2] 名前またはサービスが不明です -- 一部のパッケージが見つからない可能性があります。
docker<4.0,>=3.3.0 のローカル パッケージまたはダウンロード リンクが見つかりません
エラー: Requirement.parse('docker<4.0,>=3.3.0') に適したディストリビューションが見つかりませんでした

理由: Python の Docker バージョンが間違っています。https://pypi.python.org/simpl... に再度アクセスしてコンパイルし、インストールしてください。

ダウンロードしたpython docker3.3.0ディレクトリに入り、python setup.py installコマンドを実行します。
出力:

...
.../usr/lib/python2.7/site-packages/idna-2.5-py2.7.egg を使用します
chardet==3.0.2を検索しています
ベストマッチ: chardet 3.0.2
chardet-3.0.2-py2.7.egg を処理中
chardet 3.0.2 はすでに easy-install.pth でアクティブなバージョンです
chardetect スクリプトを /usr/bin にインストールする

/usr/lib/python2.7/site-packages/chardet-3.0.2-py2.7.egg を使用する
docker==3.3.0 の依存関係の処理が完了しました

もう一度docker-compose-1.21.2ディレクトリに入ります

Pythonを使用してdocker-composeをインストールする

  [root@localhost docker-3.3.0]# cd ../docker-compose-1.21.2/
  [root@localhost docker-compose-1.21.2]# ls
  ビルド、compose、dist、LICENSE、README.rst、setup.cfg、テスト
  CHANGELOG.md contrib docker_compose.egg-info MANIFEST.in requirements-dev.txt setup.py tox.ini
  CHANGES.md CONTRIBUTING.md Dockerfile   
  [root@localhost docker-compose-1.21.2]# python setup.py をインストール

最後に、インストールが成功し、次のように表示されます。

/usr/lib/python2.7/site-packages/idna-2.5-py2.7.egg を使用する
chardet==3.0.2を検索しています
ベストマッチ: chardet 3.0.2
chardet-3.0.2-py2.7.egg を処理中
chardet 3.0.2 はすでに easy-install.pth でアクティブなバージョンです
chardetect スクリプトを /usr/bin にインストールする

/usr/lib/python2.7/site-packages/chardet-3.0.2-py2.7.egg を使用する
docker-compose==1.21.2 の依存関係の処理が完了しました

4. ソフト接続を確立する

[root@localhost bin]# ln -s /usr/bin/docker-compose /usr/local/bin/docker-compose

5. 確認する

[root@localhost bin]# docker-compose -version
docker-compose バージョン 1.21.2、ビルド e7de1bc

3. その他

setup.py を通じて Python モジュールをインストールする方法

  • インストールディレクトリを入力してください
  • python setup.py ビルド
  • python setup.py インストール

その他の失敗したインストールの試み
1. バイナリ ファイル インストールを使用して、コンパイルされたバイナリ ファイルを見つけ、それを /usr/local/bin の下に配置します。次のエラーが報告されます: このバイナリ ファイルを実行できません。

2. dep を使用して対応する dep インストール パッケージをインストールおよびダウンロードし、データ ファイルを解凍し、docker-compose を /usr/local/bin に配置して、エラーを実行します: /usr/bin/python3: bad interpreter looking for mirror, no available mirror found

3. make インストール make を使用してインストールを開始したところ、Linux で通常コンパイルされインストールされる構成ファイルが見つからないことに気付きました。 ./configuration を使用しましたが、ファイルが見つからないというエラーが報告されました。

これで、さまざまな環境での Docker Compose のインストール方法についての説明は終了です。Docker Compose のさまざまなインストール方法についての詳細は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Docker-compose チュートリアルのインストールとクイックスタート
  • Docker および Docker-compose のワンクリック インストール チュートリアル (オンラインとオフラインをサポート)
  • docker-composeをインストールする最も簡単な方法2つ
  • docker と docker-compose のインストールの詳細な例
  • Docker-composeのインストールと設定の詳細な手順
  • docker-compose で Jenkins をインストールする際の実践的なメモ

<<:  MySQL学習記録: KEYパーティションが引き起こした血なまぐさい事件

>>:  Mysql5.7でのスケジュールバックアップの実装

推薦する

JavaScript配列の一般的なメソッドの詳細な説明

目次元の配列を変更しない方法1. 連結文法:パラメータ:戻り値: 2. 参加する文法:パラメータ:戻...

CSS テキスト配置実装コード

フォームを作成するときに、名前、携帯電話番号、出生地などの 2 つのフィールドを揃える状況に遭遇する...

リクエストを転送したり、静的リソースファイルにアクセスしたりする複数の場所への nginx の実装

この記事では主に、リクエストを転送したり、静的リソース ファイルにアクセスしたりする nginx の...

CentOS8でyumソースを変更した後にウェアハウスキャッシュの同期に失敗する問題の詳細な説明

問題の原因: 最初は CentOS 8 のデフォルトの yum ソースを正常に使用できますが、次のコ...

Docker を使用して nginx で tomcat クラスターを構築する方法 (画像とテキスト付き)

まず、Tomcatフォルダを作成します。Dockerの設定を容易にするために、ルートディレクトリに直...

シャトルボックス機能を実装するためのVueの詳細なコード

Vue - シャトルボックス機能を実装します。効果図は次のようになります。 CS 。移行{ ディスプ...

JavaScript Canvas で三目並べゲームを実装

この記事では、JavaScript Canvasで三目並べゲームを実装するための具体的なコードを参考...

MySQLデータベースを定期的に自動バックアップする方法

データは貴重なものであることは誰もが知っています。データをバックアップしなければ、データをそのまま放...

TypeScriptにおけるunknownとanyの違いについて詳しく説明します

目次序文1. 不明 vs 任意2. 未知とあらゆるもののメンタルモデル3. まとめ要約する序文any...

MySQL の結合テーブルにインデックスを作成する方法

この記事では、MySQL で 2 つのテーブルを関連付ける結合テーブルにインデックスを作成する方法を...

XHTML 3つの文書型宣言

XHTML は 3 つのドキュメント タイプ宣言を定義します。最もよく使用されるのは XHTML T...

JavaScript でよく使われる 5 つのオブジェクト

目次1. JavaScript オブジェクト1).配列オブジェクト2).ブールオブジェクト3).日付...

複数の .sql ファイルを MySQL に効率的にインポートする方法の詳細な説明

MySQL には、複数の .sql ファイル (SQL ステートメントを含む) をインポートする方法...

Nacos で MySQL8 を設定する方法

1. MySQLデータベースnacos_configを作成する2. データベース nacos_con...

MySQL 5.7.18 winx64 のインストールと設定方法のグラフィックチュートリアル

圧縮パッケージのインストールは、mysql-5.7 以降、大幅に変更されました。この記事では、mys...