目次
(1) docker-ceのインストール(LinuxはDockerをインストールします)
2. docker compose をインストールして 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
[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 環境を確認します。