私はドッカーで作業を始め、https://codeable.io/wordpress-developers-intro-dockerのような実例を作りました。展開はエフェクターシステム上にあるので、私はドッカーコンテナーのかなり小さいフットプリントが必要です。ドッカーのコンテナ:どのように連携して動作しますか?
しかし、私はこれがどのようにぴったり合っているかについてはわかりません。
2 Dockerfiles、nginxのための1があります。
FROM nginx:1.9-alpine
COPY nginx.conf /etc/nginx/conf.d/default.conf
nginx.conf
は次のように定義されています。他のDockerfuileはPHPのためである
server {
server_name _;
listen 80 default_server;
root /var/www/html;
index index.php index.html;
access_log /dev/stdout;
error_log /dev/stdout info;
location/{
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
include fastcgi_params;
fastcgi_pass my-php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
:
Dockerfile.php-fpm:
FROM php:7.0.6-fpm-alpine
RUN docker-php-ext-install -j$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) \
iconv gd mbstring fileinfo curl xmlreader xmlwriter spl ftp mysqli
VOLUME /var/www/html
最後にすべてが来るが、一緒にドッカー - compose.yml:
個のversion: '2'
services:
my-nginx:
build: .
volumes:
- .:/var/www/html
ports:
- "8080:80"
links:
- my-php
my-php:
build:
context: .
dockerfile: Dockerfile.php-fpm
volumes:
- .:/var/www/html
ports:
- "9000:9000"
ドッキングウィンドウコンテナは
$ docker-compose build
$ docker-compose up
を使用して起動され、すべてが動作します - それは魔法のようなものです!ここで
は私の質問(の一部)が起こっているのかを理解するために、次のとおりです。
- はどのようにnginxのコンテナは、PHP-コンテナについて知っていますか?
- PHPがnginxから呼び出されたとき、どのコンテナでPHPが実行されるのですか ?
- データはどのようにnginxからPHPに渡され、戻されますか?
- このドッカーの使い方(単純な Webサーバーアプリケーションの場合は3つのコンテナ)が正しい方法でドッカーを使用していますか? はこれが過度のコンテナですか?
- 負荷を増やすためにこのドッカーアーキテクチャを拡張するにはどうすればよいですか?プロダクション用に使用できますか?
- コンテナは、ホスト上で同じボリューム(
./
)を使用します。 PHPフレームワークをYii2として使用すると、 は、PHPまたはNginxのいずれかのコンテナにボリュームを移動する方が良いでしょうか?