5分間で国内Docker LNMP容器クラスターを構築
9068 ワード
LNMP Docker
テキストリンク:https://github.com/bravist/lnmp-docker
L(Alpine Linux)+N(Nginx)+M(MariaDB)+P(PHP)Dockerコンテナの開発、テスト、生産環境の迅速な構築.
しゅとくせい Alpine LinuxとDebianに基づいて異なるベースミラーを構築します.masterブランチはAli-OSM加速に基づいて、国内環境で、5分間で容器クラスタの構築を迅速に完了し、alpineブランチはAlpine Linux公式ミラーに基づいて、非国内環境に適応する.debianブランチはDocker公式debianベースミラーに基づいており,全体的なミラーサイズは相対的に大きい. 清潔で軽量レベルのPHP依存環境を構築し、常用PHP拡張をインストールし、PHP CLIとPHP FPMモードをサポートする.PHP CLIはコマンドラインインタラクションのプロジェクトに適用され、PHP FPMはNginxと組み合わせて、PHP Webアプリケーション環境を構築する.また、PHP FPMミラーリングはPHP CLIベースミラーリングに基づき、PHPコンテナミラーリングを最小化し、資源を効率的に利用する. Docker Hub公式サイトは、異なるLinuxバージョン、異なる地域環境のPHPベースミラーを保持します.国内でのDockerイメージの構築速度を向上させるため、PHPコンテナはアリババのオープンソースミラーサービス-ALO-SM Alpineに基づいてコンテナ構築を迅速に完了した.非国内環境では、クローンプロジェクトalpineブランチの迅速な構築を提案し、debainブランチも試みることができる. は、PHP CLIモード独立運転容器: 独立にコンテナランタイムファイル、コンテナランタイムログとデータをホストから分離し、コンテナのデバッグと再構築を容易にする. は、Nginx仮想サイト、SSL証明書サービスをサポートします.構成リファレンスNginxの は、複数の仮想サイト間のプログラム相互接続をサポートします.ここを参照して、複数のプロジェクト間の通信の問題について説明します. Docker Componentを使用してコンテナを編成し、開発、テスト、生産環境でサーバ構築タスクを迅速に完了することをサポートします.
LNMP Dockerのインストール
プロジェクト依存 CentOS 7 Git Docker 1.12(Dockerは64ビットのシステムを必要とし、カーネルバージョンは少なくとも3.10) Docker Compose
Dockerのインストール
Dockerをインストールする方法はプラットフォーム、地域環境、オペレーティングシステムによって異なります.ここでは公式CentOSのインストール方法をお勧めします.他の方法は自分で検索してください.また、アリクラウドが提供するDocker Hubミラーサイトをお勧めします.専用Docker加速サービスを提供します.
Docker Componentのインストール
Docker Compose公式Gtihub倉庫のインストール方法をお勧めします.まずバージョンを選択してください.
LNMP DockerのインストールクローンプロジェクトGit倉庫、非国内ユーザーはクローン後、ローカルalpineブランチに切り替えてください. コンテナクラスタを構築します. は5分ほど待って、容器が完成したかどうかを確認します.もし問題があったら、遠慮せずにissueを発表してください. プロファイルの
メンテナンス
構築中に問題が発生した場合は、issueを最初にパブリッシュしてください.ここで特にヒントを与えます.の構築中には、アリクラウドが提供する専属ミラーリング加速を使用するのはDocker Hub倉庫のリモートミラーリングを迅速に引き出すためであり、Ali-OSMはコンテナミラーリング構築パッケージの構築中に迅速にダウンロードするためである. 新しいインストールとデバッグの場合は、ローカルDockerの既存のコンテナとミラーをできるだけきれいにしてから試してください. コンテナに入るには
ctopクエリーコンテナを使用してリソースを占有する
ctopは、コンテナリソースの使用状況を問い合わせるために使用できます.たとえば、GitlabとLNMP dockerをサーバにインストールした後の使用状況など、インストールを推奨します.
コンテナミラーサイズの表示
特別参照 https://yeasy.gitbooks.io/docker_practice/content/install/centos.html https://cr.console.aliyun.com/?spm=5176.2020520152.210.d103.H4Rlih#/accelerator
テキストリンク:https://github.com/bravist/lnmp-docker
L(Alpine Linux)+N(Nginx)+M(MariaDB)+P(PHP)Dockerコンテナの開発、テスト、生産環境の迅速な構築.
しゅとくせい
call-websockt
およびphp-superviosr
を提供する.call-websockt
workmanベースのPHP Socketサービスを実行します.php-supervior
は、Supervisorベースのキューサービスを実現する.cert
とconf.d
ディレクトリファイル.LNMP Dockerのインストール
プロジェクト依存
Dockerのインストール
Dockerをインストールする方法はプラットフォーム、地域環境、オペレーティングシステムによって異なります.ここでは公式CentOSのインストール方法をお勧めします.他の方法は自分で検索してください.また、アリクラウドが提供するDocker Hubミラーサイトをお勧めします.専用Docker加速サービスを提供します.
$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
$ sudo yum makecache fast
$ sudo yum -y install docker-ce
## start up docker
$ sudo systemctl enable docker
$ sudo systemctl start docker
# Add user to docker group
$ sudo usermod -aG docker $USER
Docker Componentのインストール
Docker Compose公式Gtihub倉庫のインストール方法をお勧めします.まずバージョンを選択してください.
$ curl -L https://github.com/docker/compose/releases/download/1.13.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose
LNMP Dockerのインストール
$ git clone https://github.com/bravist/lnmp-docker
.env.example
ファイルをコピーし、プロジェクト環境変数を構成します.コンテナの実行に成功した後、.env
ファイルを再修正し、複数のプロジェクト間のプログラムの相互接続を保証する必要があります.$ cd lnmp-docker
$ cp .env.example .env
$ docker-compose build && docker-compose up -d
➜ ~ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f4452c868dcc lnmpdocker_nginx "nginx -g 'daemon off" 2 hours ago Up 2 hours 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp lnmp-nginx
15182399966b lnmpdocker_php-supervisor "supervisord --nodaem" 2 hours ago Up 2 hours lnmp-php-supervisor
a68c55c28995 bravist/php-fpm-alpine-aliyun-app:1.2 "/usr/sbin/php-fpm7 -" 2 hours ago Up 2 hours 0.0.0.0:9000->9000/tcp lnmp-php-fpm
eff86b31f2ba lnmpdocker_call-websocket "/usr/bin/php /usr/sh" 2 hours ago Up 2 hours 0.0.0.0:8190-8191->8190-8191/tcp lnmp-call-websocket
bd3cecff945e mariadb "docker-entrypoint.sh" 2 hours ago Up 2 hours 0.0.0.0:3306->3306/tcp lnmp-mariadb
279b2f995b2a lnmpdocker_redis "docker-entrypoint.sh" 2 hours ago Up 2 hours 0.0.0.0:6379->6379/tcp lnmp-redis
DOCKER_HOST_IP
構成パラメータを変更します.ここでは、docker inspect
クエリーnginxコンテナで取得します.$ docker inspect lnmp-nginx | grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "",
"IPAddress": "192.168.32.7",
$ vi .env
...
DOCKER_HOST_IP = 192.168.32.7
...
:wq
$ docker-compose build && docker-compose up -d
メンテナンス
構築中に問題が発生した場合は、issueを最初にパブリッシュしてください.ここで特にヒントを与えます.
#
$ docker ps -a
#
$ docker rm -f contianer_name ...
#
$ docker-compose down
# docker
$ docker rmi -f image_name ....
sh
shellを使用してログインする必要があります.すべてのコンテナはAlpine Linuxに基づいているため、デフォルトではsh
shellが使用されます.$ docker exec -it lnmp-nginx sh
ctopクエリーコンテナを使用してリソースを占有する
ctopは、コンテナリソースの使用状況を問い合わせるために使用できます.たとえば、GitlabとLNMP dockerをサーバにインストールした後の使用状況など、インストールを推奨します.
$ ctop
ctop - 15:36:35 CST 10 containers
NAME CID CPU MEM NET RX/TX IO R/W PIDS
◉ gitlabdocker_gitlab_1 97d5ba4b4918 5% 1.99G / 7.64G 948M / 1.6G 120M / 776K 0
◉ gitlabdocker_postgresql_1 146b662e4d62 0% 75M / 7.64G 897K / 8M 24M / 0B 0
◉ gitlabdocker_redis_1 3bcf1582f892 2% 14M / 7.64G 1.6G / 940M 5M / 0B 0
◉ lnmp-call-websocket eff86b31f2ba 0% 66M / 7.64G 3K / 648B 20M / 0B 0
◉ lnmp-mariadb bd3cecff945e 0% 179M / 7.64G 90K / 276K 27M / 0B 0
◉ lnmp-nginx f4452c868dcc 0% 8M / 7.64G 14M / 5M 5M / 0B 0
◉ lnmp-php-fpm a68c55c28995 0% 72M / 7.64G 1M / 13M 20M / 0B 0
◉ lnmp-php-supervisor 15182399966b 1% 1.8G / 7.64G 92M / 145M 26M / 0B 0
◉ lnmp-redis 279b2f995b2a 0% 8M / 7.64G 62M / 16M 2M / 0B 0
◉ lnmp-www 09c684094c18 - - - - -
コンテナミラーサイズの表示
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
lnmpdocker_nginx latest 8ed67b3d522c 2 hours ago 15.5 MB
lnmpdocker_php-supervisor latest 28d1689ec35b 2 hours ago 160.4 MB
lnmpdocker_redis latest 61cedd081dd7 2 hours ago 12.63 MB
lnmpdocker_call-websocket latest 47883e0cc4cd 2 hours ago 117.9 MB
docker.io/bravist/php-fpm-alpine-aliyun-app 1.2 1c98507f2de3 2 hours ago 124 MB
docker.io/bravist/php-cli-alpine-aliyun-app 1.0 505a11124094 24 hours ago 117.9 MB
docker.io/redis 3.0-alpine 1fbae20f0017 24 hours ago 12.63 MB
docker.io/mariadb latest ea0322bb4096 9 days ago 395.1 MB
docker.io/nginx 1.13.1-alpine 7ebd6770d0d6 10 days ago 15.49 MB
特別参照