首页 > 解决方案 > Docker-Copmose.yml 环境变量默认值计算

问题描述

我有一个 php docker 映像,我从 docker 启动了一些额外的容器。

我想在容器上启用 php 远程调试,我不想有任何硬编码的配置值。

硬编码值工作正常

services: 
    phpSite: 
        environment:
            XDEBUG_CONFIG: remote_host=${MY_IP:-1.1.1.113}

我知道我可以从主机名上的 ipconfig 获取我的本地 ip,但我未能动态解决它

标签: dockerdocker-compose

解决方案


make我使用这样的东西来处理它Makefile

up:
    HOST_IP=$$(ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+') \
        docker-compose up

docker-compose.yaml

services: 
    phpSite: 
        environment:
            XDEBUG_CONFIG: remote_host=${HOST_IP}

推荐阅读