私はDockerを探していましたが、どのようにして複数のWebサイトをサーバー "Docker way"にホストすることができましたか。私が理解する限り、理想的にはすべてが独自のコンテナを実行する必要があり、これらのコンテナは共有されるべきではありません。PHPウェブサイトをホストするためのDockerアーキテクチャ
私の質問は、実際のリクエストを処理するためにウェブサーバーの下にリクエストを中継する1つのリバースプロキシに入ってくるリクエストを含む有効なコンテナの設定であるかどうかです。
また、以下の3つの状況では、アプリケーションのソースファイルをさまざまな方法で組み込み、3つのうちどれが最もよく使用されているかを知りたいと考えています。
私の希望は、Dockerの1台のサーバーで異なるWebサイトを実行できるようにすることです。このWebサイトには、ダイアグラムのさまざまなPHP-FPMバージョンで示すように、さまざまな要件があります。 nginx/PHP-FPMでソースファイルをインクルードするのか、それとも別々に展開するのか不明なため、ウェブサイト自体の展開自体は私には分かりません。
次のように私の現在の設定は次のとおりです。
ドッキングウィンドウ-compose.yml
version: '2'
services:
nginx:
image: nginx:alpine
restart: always
ports:
- '80:80'
links:
- example_com
- example_org
- example_net
volumes:
- ./nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf:ro
example_com:
image: php:7.0-fpm-alpine
restart: always
volumes:
- ./sites/example_com:/var/www/example_com:ro
example_org:
image: php:7.0-fpm-alpine
restart: always
volumes:
- ./sites/example_org:/var/www/example_org:ro
example_net:
image: php:7.0-fpm-alpine
restart: always
volumes:
- ./sites/example_net:/var/www/example_net
nginxの/ conf.d /は、default.conf
server {
listen 80;
server_name www.example.com example.com;
location ~ \.php$ {
fastcgi_pass example_com:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/example_com$fastcgi_script_name;
include fastcgi_params;
}
}
server {
listen 80;
server_name www.example.org example.org;
location ~ \.php$ {
fastcgi_pass example_org:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/example_org$fastcgi_script_name;
include fastcgi_params;
}
}
server {
listen 80;
server_name www.example.net example.net;
location ~ \.php$ {
fastcgi_pass example_net:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/example_net$fastcgi_script_name;
include fastcgi_params;
}
}
これは上記の概要では説明されていませんが、概要上の状況は私にとって理想的な状況のようです。
リバースプロキシと異なるPHP-FPMコンテナを使用してこれを設定するにはどうすればよいですか?ウェブサイトとそれに続くアップデートをどのように配備しますか?
これに関するすべてのご意見をお待ちしております。
私は "dinghy"はこのために役立つかもしれないリバースプロキシだと思います –