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

推薦する

Windows に MySQL 5.7.18 の解凍バージョンをインストールするチュートリアル

1. インストールプロセスMySQL バージョン: 5.7.18 1. my.ini ファイル(簡易...

IEではボタンが両側に伸びる

ボタン (input, button) を記述すると、IE では次のようになります。単語数が増えると...

HTML フォームを送信するいくつかの方法_PowerNode Java Academy

方法1: 送信ボタンから送信する <!DOCTYPE html> <html>...

ウェブデザインの仕事に応募する方法

<br />みなさんこんにちは!ここで皆さんとチャットできて光栄です! (*^__^*)...

MySQL バックアップ スクリプトの書き方

序文:データベースのバックアップの重要性は、特にデータの損失が深刻な結果を招く可能性がある実稼働環境...

Mac 環境での Nginx 構成とローカル静的リソースへのアクセスの実装

ローカル開発では、直接アクセスできない静的ファイル リソースのデバッグが必要になる場合があります。こ...

Linux lseek関数の使い方の詳しい説明

注:記事に誤りがある場合は、メッセージを残して指摘してください。ご協力ありがとうございます。名前名前...

Vue で手ぶれ補正とスロットリングを使用する方法

目次序文コンセプト安定意味使用シナリオコードVueでの使用スロットリング意味使用シナリオコードVue...

HTML ページジャンプとパラメータ転送の問題

HTMLページジャンプ: window.open(url, "", "...

MySQL 5.5 の導入に関する問題

MySQL の導入現在、会社ではプラットフォーム運用を通じてMySQLを導入しています。金曜日、プラ...

純粋な CSS で DIV サスペンションを実装するサンプル コード (固定位置)

DIV フローティング効果 (固定位置) は CSS のみで実装されており、IE8、360、Fir...

インタビューの質問: ホーリー グレイル レイアウトとダブル ウィング レイアウトの違い

序文今日は、聖杯レイアウトとダブルウィングレイアウト、そしてそれらの違いについてお話しします。この2...

SQL でテーブルにフィールドとコメントを追加する方法

1. フィールドを追加します。 alter table テーブル名 ADD フィールド名 タイプ;例...

CSS スタイルの競合を解決するいくつかの方法 (要約)

1. セレクターを調整するコンビネータを使用すると、セレクターの説明をより正確に記述できます (C...

vuex で履歴を実装するためのサンプルコード

私は最近、ユーザー操作を元に戻す、またはやり直す機能を備えたビジュアル操作プラットフォームを開発して...