私はほとんどのアプリケーションをvginpで直接nginx/php-fpmにインストールしています。私はドッカーを試してみることに決めました。そして今一週間それを遊んでいます。私は可能な限りすべてを読み、その概念を理解していると信じています。dockerを使った複数nginx/phpアプリケーション用のアーキテクチャ
しかし、私は非常に多くのnginx、php、dbのインスタンスを持って周りに私の頭を包むことはできません。私は落ち着い
一つは、それは簡単ですので、私は、1デシベルを持つようにしたいということです。
nginx-proxy:
image: jwilder/nginx-proxy
container_name: nginx-proxy
ports:
- "80:80"
- "443:443"
restart: always
volumes:
- /srv/certs:/etc/nginx/certs:ro
- /var/run/docker.sock:/tmp/docker.sock:ro
- ./vhost.d:/etc/nginx/vhost.d
- /usr/share/nginx/html
nginx-certs:
image: jrcs/letsencrypt-nginx-proxy-companion
container_name: nginx-certs
volumes:
- /srv/certs:/etc/nginx/certs:rw
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes_from:
- nginx-proxy
:
mariadb:
image: mariadb:latest
container_name: mariadb
ports:
- "127.0.0.1:3306:3306"
restart: always
environment:
MYSQL_ROOT_PASSWORD: xxxxx
volumes:
- /srv/mysql:/var/lib/mysql
私はまた、nginxの-certsのが魅力のように動作し、一緒にnginxのプロキシました
これはすべてダンディです。しかし、実際のアプリのコンテナをどうやって扱うのですか?
私が推奨されますので、何を、最小限にRAMの使用量を維持したい:内部の複数のボリュームと複数のnginxのサーバ
- 1のphp-FPMコンテナ?
- プロジェクトごとに1つのコンテナがあり、そのコンテナ内にnginx/php-fpmを保持します。
- X nginxコンテナ+ X php-fpmコンテナ。 Xアプリの量。
任意のアイデア?
jwilder/nginx-proxyについては、PHPのコンテナに直接アクセスすることはできません。私はjwilder/nginx-proxyの下に別のnginxが必要ですか? –
私はそのイメージを一度も使ったことはありませんが、公式のnginxがそれをサポートすることは分かっています。私は彼らがreadmeに従って一緒に働くことができると思うが、もう一度私はそれをやったことがない。 –
2つのphp-fpmコンテナを使用すると、2つのphp opcodeキャッシュがあることを意味します。重複したデータ(コアのWordpressファイルアプリケーション間で変化しない)をRAM(一般的にVPSの世界では最も高価なリソース)に置き換えます。これを処理する最善の方法は何ですか? –