Docker Compose インストール チュートリアル
新人チュートリアルを参照してください
1 はじめに
Docker Compose は、複数の Docker コンテナを作成およびデバッグし、同じ Docker ホスト上で実行するための Docker のアセンブリ ツールです。Docker Compose は、複数のコンテナー間の関係、各コンテナーに必要な構成および環境変数を記述する YAML ファイルに基づいています。
Docker Compose は、複数のコンテナのデプロイを簡素化し、コンテナ間のネットワーク接続やコンテナ間のサービス接続を含む複数のコンテナ間のデータ送信もサポートし、デバッグおよびパッケージ化中により柔軟なソリューションを提供できます。Docker Compose は、ローカル環境またはクラウド サーバー上に Docker コンテナを作成し、それらを docker-compose ファイルにパッケージ化して、運用環境へのデプロイを容易にします。
Compose は、運用環境、開発環境、テスト環境、CI ワークフローなど、すべての環境で動作します。Docker Compose で使用される 3 つの手順:
1. どこにでもレプリケーションできるように、Dockerfile を使用してアプリケーションの環境を定義します。
2. docker-compose.yml を使用してアプリケーションを構成するサービスを定義し、分離された環境で一緒に実行できるようにします。
3. docker-compose up コマンドを実行して、アプリケーション全体を起動して実行します。
Dockerfileでは、コンテナ内でユーザーが行う必要のある操作だけでなく、コンテナ内でソフトウェアを実行するために必要な構成も定義できるため、最終的にソフトウェアの開発と運用保守を構成上で一元化することができます。ファイル。運用保守担当者は、同じ Dockerfile を使用して、開発環境とまったく同じ運用単位 (Docker コンテナ) をさまざまな機会に「再現」できます。
2. ダウンロードしてインストールします
方法 1: GitHub 公式のダウンロードとインストール (推奨、速度は遅いですがエラーは発生しません)
1.GitHub公式ダウンロード
curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
他のバージョンの Compose をインストールするには、v2.17.2 を置き換えます。
Docker ComposeとDockerバージョンの対応:https://docs.docker.com/compose/compose-file/compose-file-v3/
Docker Composeのダウンロードアドレス: https: //github.com/docker/compose/releases
2.実行権限を付与します: sudo chmod +x /usr/local/bin/docker-compose
3. ソフト接続を確立します: sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
4. Docker バージョンを確認します:docker-compose --version
方法 2: 国内ソースのインストール (推奨されません、高速ですがエラーが発生しやすくなります)
1.DaoCloud国内ソースダウンロード
curl -L http://get.daocloud.io/docker/compose/releases/download/v2.17.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
2. 実行権限を付与します。sudo chmod +x /usr/local/bin/docker-compose
3. ソフト接続を確立します。sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
4. Docker のバージョンを確認します。docker-compose --version
この方法では、次のエラーが発生する可能性があります。
docker インストール スクリプトを実行しています。 commit:a8a6b338bdfedd7ddefb96fe3e7fe7d4036d945a
警告: 「docker」コマンドはこのシステムにすでに存在しているようです。
すでに Docker がインストールされている場合、このスクリプトは問題を引き起こす可能性があるため、この警告を表示し、インストールをキャンセルする機会を提供しています。
このスクリプトを使用して現在の Docker パッケージをインストールし、それを再度使用して Docker を更新する場合は、このメッセージを無視しても問題ありません。
ここで Ctrl+C を押すと、このスクリプトを中止できます。
エラーが報告されたら、最初に docker-compose をアンインストールし、rm /usr/local/bin/docker-compose
次に方法 1 をインストールしてダウンロードしてインストールします。
3. 簡単な使用例
ケース要件: mysql、redis、nginx、nacos、およびその他のコンポーネント コンテナを同時にデプロイします。
1. フォルダーを作成します。mkdir -p /usr/local/mycompose
2. フォルダーに入力します。cd /usr/local/mycompose
3. docker-compose.yml ファイルを作成します。vi docker-compose.yml
内容は次のとおりです。
version: '3'
services:
redis1:
image: redis
ports:
- "6379:6379"
container_name: "redis1"
networks:
- dev
mysql1:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: "ut.123456"
ports:
- "3306:3306"
container_name: "mysql1"
networks:
- dev
nginx1:
image: nginx
ports:
- "8080:80"
container_name: "nginx1"
networks:
- dev
nacos1:
image: nacos/nacos-server
ports:
- "8848:8848"
container_name: "nacos1"
networks:
- dev
networks:
dev:
driver: bridge
pro:
driver: bridge
4. 構成で作成されたコンテナをバックグラウンドで起動します。docker-compose up -d
5. 構成で作成されたコンテナを停止します。docker-compose stop
6. 構成で作成されたコンテナを削除します。docker-compose down
4. docker-compose.ymlの記述ルールの紹介
docker-compose.yml 構成ファイルは主に、バージョン、サービス、ネットワークの 3 つの層に分かれています。
mysql サービスを例として、一般的に使用されるフィールドの意味を説明します。
version: '3'#第一层:compose的版本号
services: #第二层:服务配置信息
mysql1: #服务名
image: mysql #该服务所基于的镜像名
environment: #该服务的环境变量
MYSQL_ROOT_PASSWORD: "ut.123456"
ports: #该服务的暴露端口
- "3306:3306"
container_name: "mysql1" #容器名
networks: #该服务所加入的网络段
- dev
volumes: #挂载数据卷
- /platform/mysql/conf:/etc/my.cnf.d/my.cnf
- /platform/mysql/data:/var/lib/mysql:rw"
networks: #第三层:网络环境
dev:
driver: bridge
特定のフィールドの詳細については、https: //blog.csdn.net/qq_36148847/article/details/79427878
を参照してください。 次に、展開の例を示します。
5.Docker-compose共通コマンド
docker compose コマンドの基本形式は次のとおりです:
docker-compose [-f …] [options] [COMMAND] [ARGS…]
常用命令(COMMAND)如下:
build 构建或重建服务
help 命令帮助
kill 杀掉容器
logs 显示容器的输出内容
port 打印绑定的开放端口
ps 显示容器
pull 拉取服务镜像
restart 重启服务
rm 删除停止的容器
run 运行一个一次性命令
scale 设置服务的容器数目
start 开启服务
stop 停止服务
up 创建并启动容器
更多命令可以查看帮助 `docker-compose -h`和`docker compose COMMAND --help`
nginx コンテナの操作を例に挙げると、一般的な操作は次のとおりです。
注文 | 説明 |
---|---|
docker-compose ps | すべてのコンテナを表示 |
docker-compose ビルド nginx | nginxイメージのビルド |
docker-compose up -d nginx | nigxコンテナを構築して起動する |
docker-compose exec nginx bash | nginxコンテナにログインします |
docker-composeポーズnginx | ninix コンテナを一時停止する |
docker-compose nginxの一時停止を解除する | ningxコンテナを復元する |
docker-compose nginx を開始する | ninxコンテナを起動する |
docker-compose nginx を停止する | nigxコンテナを停止する |
docker-compose nginx を再起動する | nginxコンテナを再起動します |
docker-compose rm nginx | nginxコンテナを削除する |
docker-compose ダウン | nginxコンテナとミラーを削除する |
docker-compose ログ -f nginx | nginxのリアルタイムログを表示する |