Docker使用多个nginx服务器和单个php实例

时间:2018-03-27 07:10:59

标签: php docker nginx

我有几个使用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"

感谢

0 个答案:

没有答案