使用docker-compose进行环境变量的后备 [英] Fallback for environment variables with docker-compose

查看:67
本文介绍了使用docker-compose进行环境变量的后备的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

给出以下配置:

mysql:
    environment:
        MY_MYSQL_PORT:
    image: mysql
    ports:
        - "${MY_MYSQL_PORT}:3306"

有没有一种方法可以为MY_MYSQL_PORT提供一个后备值,而无需依赖包装器脚本?我已经像bash $ {MY_MYSQL_PORT-3306}一样进行了测试,但是它不起作用.

There's a way to provide a fallback value for MY_MYSQL_PORT without relying on wrapper scripts? I already tested like bash ${MY_MYSQL_PORT-3306} but it doesn't work.

推荐答案

他们在compose 1.9版本中实现了该功能:

They implemented that feature with compose 1.9 release:

在变量插值中增加了对shell样式内联默认设置的支持.

Added support for shell-style inline defaults in variable interpolation.

支持的格式为$ {FOO-default}(如果未设置FOO,则回退)和$ {FOO:-default}(如果未设置FOO或为空,则退回).

The supported forms are ${FOO-default} (fall back if FOO is unset) and ${FOO:-default} (fall back if FOO is unset or empty).

发布说明Docker Compose 1.9

这篇关于使用docker-compose进行环境变量的后备的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆