さまざまな環境での 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でのスケジュールバックアップの実装

推薦する

要素のフォーム要素の使用の概要

フォーム要素はたくさんあります。簡単にまとめると、次のようになります。私のやり方では、主にテキスト ...

カタツムリ映画システムのDocker展開の詳細なプロセス分析

環境に関する声明ホストOS: Cetnos7.9 最小インストールdocker バージョン: 20....

Linux クラウド サーバー上に SFTP サーバーとイメージ サーバーを構築する方法

まず、SFTP プロトコルと FTP プロトコルの違いを理解してください。ここでは詳細には触れません...

Linux C バックグラウンドサービスプログラムの単一プロセス制御の実装

導入通常、バックグラウンド サーバー プログラムには 1 つのプロセスのみが必要ですが、単一のプロセ...

MySQL で 2 つのテーブルをクエリする場合の from と join の違いの概要

序文MySQL では、複数テーブル結合クエリは非常に一般的な要件です。複数テーブルクエリを使用する場...

XHTML 入門チュートリアル: よく使われる XHTML タグ

<br />記事と同様に、Web ページにも明確な段落と重要度の異なるタイトルが必要です...

Web 標準アプリケーション: Tencent QQ ホームページの再設計

Tencent QQのホームページがリニューアルされ、Webフロントエンド開発がますます注目を集めて...

meta name="" content="の機能の詳細な説明

1. 文法: <meta name="名前" content="...

Docker データボリュームコンテナの作成と使用状況分析

データ ボリューム コンテナーは、データ ボリュームをマウントするために特別に使用されるコンテナーで...

nginx を使用した負荷分散モジュールの解釈

目次負荷分散に nginx を使用するための 2 つのモジュール:アップストリームはロードノードプー...

美しいチェックボックススタイル(複数選択ボックス)はIE8/9/10、FFなどと完全に互換性があります。

恥ずかしながら、このようなよく使われるチェックボックスのスタイルを変更するために、Baidu で長い...

Vue 関数のアンチシェイクとスロットリングの正しい使用方法

序文1. デバウンス: 高頻度イベントがトリガーされた後、関数は n 秒以内に 1 回だけ実行されま...

js SMS認証コード入力ボックスを手動で実装する

序文この記事では、私が手動で実装したフロントエンドの一般的な SMS 認証コード入力コンポーネントと...

この記事は、JQueryの基本的な操作を理解し、始めるのに役立ちます。

目次1. Jquery を使用する手順: (1)jsライブラリをインポートする(2)ページ読み込みイ...

JS でシンプルな画像カルーセル効果を実現

この記事では、シンプルな画像カルーセル効果を実現するためのJSの具体的なコードを参考までに紹介します...