Docker-Compose インストール チュートリアル

1.Docker-Compose の概要

Compose プロジェクトは Docker の公式オープンソース プロジェクトであり、Docker コンテナ クラスターの迅速なオーケストレーションの実現を担当します。

前に紹介した Dockerfile を使用すると、別のアプリケーション コンテナを簡単に定義できます。しかし、日々の開発作業では、特定のタスクを完了するために複数のコンテナが相互に連携する必要がある状況に遭遇することがよくあります。

たとえば、Web プロジェクトを実装するには、Web サービス コンテナ自体に加えて、バックエンド データベース サービス コンテナを追加する必要があることがよくあります。別の例として、分散アプリケーションには通常、複数のサービスが含まれており、各サービスは通常、複数のインスタンスをデプロイします。 。各サービスを手動で起動・停止する必要があると効率が悪く、メンテナンス量も多くなります。

現時点では、関連付けられたアプリケーション コンテナーのセットを管理できるツール、つまり Docker Compose が必要です。
Compose には 2 つの重要な概念があります。

  • プロジェクト: docker-compose.yml ファイルで定義された、関連するアプリケーション コンテナーのセットで構成される完全なビジネス ユニット。
  • サービス: アプリケーション コンテナーには、実際には、同じイメージを実行する複数のコンテナー インスタンスを含めることができます。

Docker 内のすべての yml ファイルは、プロジェクトの実行ディレクトリを構成します。プロジェクトには複数のサービスが含まれます。各サービスは、実行中のコンテナのイメージ、パラメータ、および依存関係を定義します。サービスには複数のコンテナ インスタンスを含めることができます。docker-compose は、Docker コンテナー用のオーケストレーション ツールであり、主に相互に依存する複数のコンテナーの管理を解決します。

2. docker-compose をインストールする

docker-compose をインストールするには 2 つの方法があり、いずれかを選択できます。

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

まず、最新バージョンの docker-compose ファイルをダウンロードします。
公式ドキュメントのアドレス: Install Docker Compose | Docker Documentation
ここに画像の説明を挿入します

対応するシステム バージョンを見つけてダウンロードしてインストールします

2.2 pip コマンドによるインストール

私のものは MAC システムです。pip がインストールされていない場合は、ここに移動できます: Mac システム: zsh: コマンドが見つかりません: pip ソリューション

次のように入力します。

pip install docker-compose

ここに画像の説明を挿入します

3.Docker-compose実戦

Mysql イメージのインストールを例に挙げます。
まず、mysql-compose.yml ファイルを作成します。

version: "3"
services:
  mysql:
    image: mysql:5.7.19
    restart: always
    container_name: mysql
    ports:
      - 3306:3306
    volumes:
      - /data/software/mysql/conf/:/etc/mysql/conf.d
      - /data/software/mysql/data:/var/lib/mysql
      - /data/software/mysql/log/:/var/log/mysql
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: kangll
      MYSQL_USER: kangll
      MYSQL_PASSWORD: 123456

MySQL コンテナの起動とシャットダウン

# 关闭
docker-compose -f docker-compose-mysql.yml down
# 启动
docker-compose -f docker-compose-mysql.yml up -d

おすすめ

転載: blog.csdn.net/zhiyikeji/article/details/135061701