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

推薦する

MySQL の垂直テーブルを水平テーブルに変換する方法と最適化のチュートリアル

1. 縦型テーブルと横型テーブル垂直テーブル: テーブル内のフィールドとフィールド値はキーと値の形式...

Dockerイメージ構築原理の分析(Dockerをインストールしなくてもイメージを構築できる)

イメージの構築は、DevOps プロセスにおいて非常に重要なプロセスです。一般的に、イメージの構築と...

Kubernetes を使用して Springboot または Nginx をデプロイするための詳細なチュートリアル

1 はじめに「Maven がワンクリックで Springboot を Docker リポジトリにデプ...

MySQL データ分析ストレージエンジンの例の説明

目次1. 事例紹介2. システムのデフォルトのストレージエンジンとデフォルトの文字セットを表示する3...

メモリの原則に関する詳細な説明: JS では変数はヒープに保存されるのか、スタックに保存されるのか?

目次1. 冷蔵庫に入りきらない象2. シャドウクローン文字列3. 実際に見た「奇妙なボール」 4. ...

MySQL で group by を使用すると常にエラー 1055 が発生します (推奨)

MySQL で group by を使用すると常にエラー 1055 が発生するため、原因を確認する...

この記事はPReact10.5.13のソースコードを理解するのに役立ちます

目次render.js 部分create-context.js 部分差分部分Reactのソースコード...

Vue3 Vue イベント処理ガイド

目次1. 基本的なイベント処理2. 親コンポーネントにカスタムイベントを送信するマウス修飾子4. キ...

xshell を使用して VMware で Linux に接続する方法 (2 つの方法)

【序文】最近、ITOO の試験システムのストレステストを行いたいので、自分のコンピュータに Lin...

Docker が MySQL を作成する説明

1. MySQLイメージをダウンロードするコマンド: docker pull mysql 2. コン...

MySQL 文字列インデックスのより合理的な作成ルールに関する議論

序文MySQL インデックスの使用に関しては、これまでインデックスの最左接頭辞ルール、インデックス ...

チャットバブル効果を実現するCSS

1. レンダリングJD効果シミュレーション効果 2. 原則高さと幅が0のボックスを用意しますこのボ...

Ubuntu で .sh ファイルを実行するいくつかの方法の違いについて簡単に説明します。

序文特に bash 環境では、スクリプトの実行方法によって結果が異なります。スクリプトを実行する方法...

MySQL の 3 つの Binlog 形式の概要と分析

1つ。 Mysql Binlog フォーマットの紹介 Mysql binlog ログには、State...

HTML のテキストエリアの改行問題の概要

最近、Textrea に転送したときに、データが本当に行ごとに保存できるかどうかという問題に遭遇しま...