Docker - 通过docker-compose传递环境设置

时间:2017-04-02 18:16:34

标签: php docker docker-compose

我是Docker的新手,除了一个部分外,还有一个有效的docker-compose文件。我想要实现的是设置一个环境设置,以便在我的PHP应用程序中,我可以使用一些变量来确定我加载的资源。

例如,在MAMP PRO中,您可以访问此页面上的环境设置:

enter image description here

在我的docker-compose文件中,我有以下内容:

services:
  webserver:
    build: ./docker/webserver
    image: perch
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - C:/websites/sitename/www:/var/www/html
    links:
      - db
    environment:
      - DEVELOPER_ENV=development

目前,变量 - 从我所知道的 - 未被设置为我的php变量来检测环境,失败。任何指针都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

出于安全原因,Apache默认情况下会删除大多数环境变量。
但是您可以将etc/apache2/conf-enabled/expose-env.conf文件中的变量列入白名单。

所以我将这些命令添加到了dockerfile中: RUN echo 'PassEnv DB_PW' >> /etc/apache2/conf-enabled/expose-env.conf \ && echo 'PassEnv DB_USER' >> /etc/apache2/conf-enabled/expose-env.conf

或者,您可以复制或安装expose-env.conf