首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用docker-组合的环境变量的回退

问使用docker-组合的环境变量的回退
EN

Stack Overflow用户
提问于 2015-11-18 16:01:29
回答 2查看 7.2K关注 0票数 22

考虑到以下配置:

代码语言:javascript
复制
mysql:
    environment:
        MY_MYSQL_PORT:
    image: mysql
    ports:
        - "${MY_MYSQL_PORT}:3306"

有一种方法可以在不依赖包装脚本的情况下为MY_MYSQL_PORT提供回退值?我已经测试了bash ${MY_MYSQL_PORT-3306},但是它不起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-14 10:14:25

他们用Compose1.9版本实现了这个特性:

在变量内插中增加了对shell样式内联默认值的支持。 所支持的表单是${ FOO -默认}(如果FOO未设置则返回)和${FOO:-default} (如果FOO未设置或空,则返回)。

释放备注码头工人组成1.9

票数 34
EN

Stack Overflow用户

发布于 2021-10-20 21:56:12

Dockerfile文档中的解释可以在以下站点找到:https://docs.docker.com/engine/reference/builder/#environment-replacement

引证如下:

${variable_name}语法还支持以下几个标准bash修饰符:

  • ${variable:-word}表示,如果设置了variable,则结果将是该值。如果没有设置variable,那么word就是结果。
  • ${variable:+word}表示,如果设置了variable,那么word将是结果,否则结果是空字符串。

在任何情况下,word都可以是任何字符串,包括附加的环境变量。

可以通过在变量之前添加一个\来转义:例如,\$foo或\${foo}将分别转换为$foo和${foo}文字。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33784730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档