我有几个使用php的网站,每个网站都在不同的码头上 在正常情况下,在docker之外,所有网站都使用相同的php安装 如何用docker实现这一目标?
这是我目前的设置。我的单个nginx docker使用这个docker实例。 (php-fpm.dockerfile只安装php-mysql)。
php:
env_file: ".env"
build :
context : .
dockerfile : php-fpm.dockerfile
volumes:
- "./server/www/:/var/www/:cached"
我想使用这个php实例添加另一个nginx服务器,是否可能?
这是我的整个相关的yml文件,nginx_server
实例我们使用php,我如何告诉php
实例处理nginx_site
实例。
version: "3.5"
nginx_server:
image: nginx
env_file: ".env"
links:
- php
- mysql
ports:
- "8081:80"
restart:
always
volumes :
- "./server/nginx/default.conf.php.template:/etc/nginx/conf.d/default.conf.template"
- "./server/logs/:/var/log/nginx/:cached"
- "./server/www/:/var/www/:cached"
command : /bin/bash -c "envsubst '$$NGINX_HOST,$$NGINX_ROOT,$$NGINX_INDEX_FILE,$$NGINX_PORT' < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
environment:
- NGINX_HOST=$NGINX_SERVER_HOST
- NGINX_ROOT=$NGINX_SERVER_ROOT/public
- NGINX_INDEX_FILE=index.php
- NGINX_PORT=8081
nginx_site:
image: nginx
env_file: ".env"
links:
- php
- mysql
ports:
- "8082:80"
restart:
always
volumes :
- "./site/nginx/default.conf.php.template:/etc/nginx/conf.d/default.conf.template"
- "./site/logs/:/var/log/nginx/:cached"
- "./site/www/:/var/www/:cached"
command : /bin/bash -c "envsubst '$$NGINX_HOST,$$NGINX_ROOT,$$NGINX_INDEX_FILE,$$NGINX_PORT' < /etc/nginx/conf.d/default.conf.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
environment:
- NGINX_HOST=$NGINX_SITE_HOST
- NGINX_ROOT=/var/www/
- NGINX_INDEX_FILE=index.php
- NGINX_PORT=8082
php:
env_file: ".env"
build :
context : .
dockerfile : php-fpm.dockerfile
volumes:
- "./server/www/:/var/www/:cached"
感谢