アプリケーションのケースを作成する (Docker compose を使用して lnmp インスタンスをインストールする)

目次

アプリケーションケースを作成する

1. 前提条件の構成

(1) docker-ceのインストール(LinuxはDockerをインストールします)

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

2. docker compose をインストールして lnmp をデプロイする

(1) ディレクトリ構造:

(2) 構成ファイルを書き込みます。

3. LNMP環境を確認する 


アプリケーションケースを作成する

1. 前提条件の構成

Compose が上記の配置と展開の原則をどのように実現するかを説明するために、理解を深めてもらうために、Compose による LNMP サービスの配置と展開について説明します。

(1) docker-ceのインストール(LinuxはDockerをインストールします)

CentOS システムに Docker をインストールするには 2 つの方法があります。

1 つは、curl を使用して、インストール用の Docker インストール スクリプトを取得することです。

もう 1 つは、YUM リポジトリを使用して Docker をインストールする方法です。注意すべき主な点は、現在 Docker は 64 ビット システムのみをサポートしているということです。

1. インストール前の準備:

[ root @ huyang1 ~ ] # iptables - F

[root@huyang1 ~]# setenforce 0

[root@huyang1 ~]# systemctl stop firewalld

インターネットにアクセスできることを確認してください

[root@huyang1 ~]# ping www.baidu.com

[root@huyang1 ~]# ls /etc/yum.repos.d/

[root@huyang1 yum.repos.d]# yum すべてクリーン && yum makecache fast

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

[root@huyang1 ~]# wget -O

/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

[ root@huyang1 ~]# yum -y yum-utils をインストールします

デバイスマッパー永続データ lvm2

[root@huyang1 ~]# yum-config-manager --add-repo

http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

[root@huyang1 ~]# ls /etc/yum.repos.d/

[root@huyang1 ~]# yum -y install docker-ce

[root@huyang1 ~]# docker バージョン バージョン表示

[root@huyang1 ~]# systemctl start docker

[root@huyang1 ~]# systemctl ドッカーを有効にする

3. アリババクラウドミラーアクセラレータ

Alibaba Cloud ログイン - 安全で安定したクラウド コンピューティング サービス プラットフォームである Alibaba Cloud へようこそ

[root@huyang1 ~]# cat << END > /etc/docker/daemon.json

{ "レジストリミラー":[ "https://nyakyfun.mirror.aliyuncs.com" ]

}

終わり

[root@huyang1 ~]# systemctl daemon-reload

[root@huyang1 ~]# systemctl restart docker

[root@huyang1 ~]# docker バージョン

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

最新バージョンをダウンロードしてインストールします。ダウンロード時間は長くなる可能性があります

[root@compose ~]#curl -L \

https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

[root@compose ~]# chmod +x

/usr/local/bin/docker-compose

[root@compose ~]# docker-compose --version

2. docker compose をインストールして lnmp をデプロイする

(1) ディレクトリ構造:

[root@compose ~]# mkdir compose_lnmp/

[root@compose ~]# cd compose_lnmp/

[root@compose compose_lnmp]# ツリー

  [root@compose compose_lnmp]#vim mysql/conf/my.cnf

 [root@compose compose_lnmp]#vim nginx/Dockerfile

 [root@compose compose_lnmp]#vim nginx/nginx.conf

 [root@compose compose_lnmp]#vim nginx/run.sh

  [root@compose compose_lnmp]#vim php/Dockerfile

  [root@compose compose_lnmp]#vim wwwroot/index.html

   [root@compose compose_lnmp]#vim wwwroot/index.php

(2) 構成ファイルを書き込みます。

[root@compose compose_lnmp]# cat docker-compose.yml

構成は次のとおりです。

version: '3'
services:
  nginx:
    hostname: nginx
    build:
      context: ./nginx
      dockerfile: Dockerfile
    ports:
      - 80:80
    networks:
      - lnmp
    volumes:
      - ./wwwroot:/usr/local/nginx/html

  php:
    hostname: php
    build:
      context: ./php
      dockerfile: Dockerfile
    ports:
      - 9000:9000
    networks:
      - lnmp
    volumes:
      - ./wwwroot:/usr/local/nginx/html

  mysql:
    hostname: mysql
    image: mysql:5.6
    ports:
      - 3306:3306
    networks:
      - lnmp
    volumes:
      - ./mysql/conf:/etc/mysql/conf.d
      - ./mysql/data:/var/lib/mysql
    command: --character-set-server=utf8
    environment:
      MYSQL_ROOT_PASSWORD: 123456
      MYSQL_DATABASE: wordpress
      MYSQL_USER: user
      MYSQL_PASSWORD: user123

networks:
  lnmp:
~                                     

 標準構成ファイルには、バージョン、サービス、およびネットワークの 3 つの部分が含まれている必要があることがわかります。ラベルには 3 つのレベルがあり、各レベルは 2 つのスペースでインデントされています。

中身を詳しく説明しましょう。

(1) version:  '3' これは、compose をバージョン 3 として定義するバージョン番号です。利用可能なバージョンの詳細については、公式ドキュメントを参照してください。 概要 | Docker ドキュメント

(2) サービス:

nginx:これは、サービスの下の第 2 レベルのラベルです。名前はユーザーによって定義されます。実行後のサービスの名前になります。ホスト名
  : nginx これは、定義されたコンテナーのホスト名であり、書き込まれます。 /etc/ホスト名;

建てる:

context:  ./nginx は、nginx サービスのコンテキスト パスを指定します。

dockerfile: Dockerfile は、上で指定したパスの Dockerilfe を通じてビルドすることを指定します。

ポート:

 - 80:80 ポート マッピングには何も言う必要はありません。

ネットワーク:

 -lnmp で指定されたネットワーク環境ボリューム
:ホストの /wwwroot ディレクトリをコンテナ内の /usr/local/nginx/html ディレクトリにバインドします。

php:このセカンダリ ラベル サービスと次のコンテンツは nginx に似ています。

mysql:このセカンダリ タグ サービスは nginx や php に似ていますが、唯一の違いは、追加のイメージ タグがあることと、いくつかの環境変数が定義されていることです。

image: mysql:5.6 mysql:5.6 イメージを使用して mysql サーバーを構築します。nginx と php の両方で、Dockerfile を通じて構築するコンテキストを指定します。

環境:

   MYSQL_ROOT_PASSWORD: root ユーザーのパスワード変数を 123456 として定義します。

   MYSQL_DATABASE: データ変数を wordpress として定義します。

   MYSQL_USER: 共通ユーザー変数を user として定義します。

   MYSQL_PASSWORD: 共通ユーザー パスワード変数を user123 として定義します。

(3) ネットワーク:

   lnmp: docker network create lnmp コマンドの実行と同等。

最後に docker-compose コマンドを実行して開始します。

[root@localhost ~]# cat centos-7-x86_64.tar.gz | ドッカーインポート - centos:7

[root@localhost ~]# docker イメージ centos:7

[root@localhost compose_lnmp]# docker-compose -f docker-compose.yml up -d

[root@localhost compose_lnmp]# docker-compose ps

3. LNMP環境を確認する 

クライアントはブラウザを使用して、docker-compose によって作成された lnmp 環境を確認します。

 

 

おすすめ

転載: blog.csdn.net/2302_77582029/article/details/132092246