【问题标题】:How to use enviroment variable that is set in docker composer如何使用在 docker compose 中设置的环境变量
【发布时间】:2018-10-12 12:54:39
【问题描述】:

我正在使用运行 codeigniter 应用程序的 docker 容器,并且我在 docker composer.yml 中为基本 url 设置了环境变量,例如:

version: '3.4' services:
    app:
        image: WEBPORTAL_VERSION
        ports:
            - port_key:port_num
        environment:
            - BASE_URL=http://example.com
        deploy:
            mode: replicated
            replicas: 1
            placement: 
                constraints:
                    - node.role == manager

现在,我想访问环境密钥,即 codeigniter 应用程序中的基本 url

我正在使用:

$_config['base_url']=getenv('BASE_URL');

其中 BASE_URL 是在上面的 docker composer 文件中初始化的键。

这里的问题是 getenv 不从 docker composer 中设置的环境中获取?

【问题讨论】:

  • 您是否重新构建了容器?
  • 试试 $_ENV['variable_name']
  • 我也试过 $_ENV['variable_name'] 但不起作用@BugHunter
  • @ReynierPM 我没有收到任何错误,只是 getenv 的值为空白
  • 我从 docker composer 那里得到了 env 值,但是它忽略了 http:// 并且在源页面中它只显示了 example.com,为什么它忽略了 http://

标签: php docker docker-compose environment-variables codeigniter-3


【解决方案1】:

终于!解决了这个问题,默认情况下在php-fpm配置文件中使用

 clear_env = yes

这是默认值,我更改并更新为

clear_env=no

【讨论】:

    猜你喜欢
    • 2022-11-10
    • 2023-03-16
    • 2022-12-20
    • 2019-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-01
    相关资源
    最近更新 更多