Dockerノート-コンテナーのオーケストレーションとWordPressのデプロイの練習

コンテナオーケストレーションとは何ですか?

たとえば、以下は、Nginxサービス、Tomcatサービス、およびMySQLサービスの3つのコンテナーをデプロイする必要があるホストマシンです。その中で、Nginxはtomcatに負荷分散とリバースプロキシ機能を提供します。TomcatはJavaWebプログラムを実行します。このJavaWebプログラムは、データアクセスをMySQLに依存しています。このアプリケーショングループはオンラインである必要があります。手動で処理する場合は、MySQLサービスを実行するコンテナを起動し、Tomcatコンテナを起動して、最後にNginxコンテナを起動する必要があります。また、コンテナ構成ファイルを手動で設定し、コンテナ間の依存関係を構成する必要がありますが、これは非常に面倒です。コンテナオーケストレーションツールは、スクリプトファイルを解析することにより、上記のプロセスを自動的に実行できます。コンテナーのデプロイやコンテナー間の関係などに必要な構成ファイルをスクリプトに書き込むだけで、残りはオーケストレーションツールによって自動的に実行できます。

コンテナーオーケストレーションは、複数のコンテナーのデプロイメントプロセスを制御するプロセスです。

画像-20200523232525680

DockerCompose

Docker Composeは、Dockerが正式に提供するコンテナオーケストレーションツールであり、以下の特徴があります。

  1. スタンドアロンのみをサポート
  2. ymlファイルを介して複数のコンテナー間でデプロイする方法を定義します
インストール
# 先安装docker-compose,下面使用国内镜像
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

# 然后授予权限
sudo chmod +x /usr/local/bin/docker-compose
# 查看是否正确安装
docker-compose -version

画像-20200523234010907

docker-composeのインストールが成功しました。練習用に、WordPressのデプロイを始めましょう。

WordPressをデプロイする
# 在宿主机创建目录
mkdir wordpress
# 进入该目录
cd wordpress
# 创建yml文件
vim docker-compose.yml
# yml文件中填写如下信息,下面的信息在docker官方网站的教程上能够找到
# https://docs.docker.com/compose/wordpress/

version: '3.3'

services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: somewordpress
       MYSQL_DATABASE: wordpress
       MYSQL_USER: wordpress
       MYSQL_PASSWORD: wordpress

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_USER: wordpress
       WORDPRESS_DB_PASSWORD: wordpress
       WORDPRESS_DB_NAME: wordpress
volumes:
    db_data: {
    
    }
    
# 运行
docker-compose up -d
# 会自动解析刚才创建的docker-compose.yml ,并且以后台进程形式运行

ログを見て、最初にmysqlミラーをプルします

画像-20200523234655814

次に、ワードプレスミラーを引っ張り始めます

画像-20200523234724201

最後に、2つのコンテナが開始されたことがわかります

画像-20200523234955343

この時点で、ブラウザがホストのポート8000​​にアクセスすると、wordpressが正常に構築されていることがわかります。

画像-20200523235040146

このdocker network lsコマンドを使用すると、docker-composeがワードプレスのブリッジを自動的に作成することがわかります。

画像-20200524121414708

このブリッジの詳細情報を確認すると、wordpressappとdbの2つのコンテナーがこのブリッジにバインドされていることがわかります。

画像-20200524121521969

WordPressグループのアプリケーションをオフにするには、を使用しますdocker-compose downdocker-composeを使用して複数のアプリケーションのセットを起動しdocker-compose downそれらを直接使用する場合、どのアプリケーションのセットが閉じられているかをどのようにして知ることができますか?

答えは、それdocker-compose down使用するときは、最初にdocker-compose.yml構成ファイルのあるディレクトリに切り替える必要があるということです。現在のディレクトリのdocker-compose.ymlファイルに基づいて、閉じる必要のあるアプリケーションのグループを決定します。

画像-20200524121753108

別の->を使用docker-compose logsしてアプリケーションのログを表示できますが、この方法でログを表示すると、複数のアプリケーションのログが混在して表示されます。アプリケーションのログを個別に表示する場合は、次を使用できます。docker-compose logs 容器名称

一般に、docker-composeは単一のマシンのみをサポートし、クラスターをサポートしないため、実稼働環境ではアプリケーションが比較的少なくなります。したがって、本番環境では、kubernetesなどのクラスターをサポートするコンテナーオーケストレーションツールが一般的に使用されます。

もう1つ->コンテナ化されたproduct-podmanがあります。これはdockerに似ており、dockerコマンドでシームレスに切り替えることもできますが、csアーキテクチャを採用していないため、いくつかの点でdockerよりも優れているようです。適切な理解を行う

おすすめ

転載: blog.csdn.net/vcj1009784814/article/details/106313465