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