大家好。
是否可以在构建时使用操作系统(bash)自己的参数/变量替换参数/变量?
比如说……
host: /APPOW/log/${HOSTNAME}/discourse.test
我曾以为这会开箱即用,但对我来说不行。谢谢。
谢谢。不,除非我暂时瞎了——有可能——这并不包括我的问题。是吗?
我说的是操作系统环境变量,YAML 中会解析为其值的 shell 变量——同样,在宿主机的 shell 中设置(在 .yml 文件中不存在)
不可以。
你可以在启动时设置它们,但不能在构建时设置。
你试图通过在构建时替换 YAML 中的 ENV 来实现什么目标?
这些小的调整在扩展时非常有用,即使只是微小的扩展。
上面那个例子应该最能说明问题——无需每次在不同环境/不同主机上构建时都在yaml中进行“修复”。
我搜索了一下,看到一些例子声称这种简单的替换应该适用于 YAML,但我无法使其生效。
我不认为启动器会替换那些环境变量。可以构建一个镜像,然后使用不同的域名多次启动同一个镜像。你可以运行
./launcher start-cmd app
来查看启动需要哪些环境变量。
要在一个尚未引导的宿主机上执行此操作,你需要迁移数据库并预编译资源。
2 个赞
如果能那样的话,那绝对会是未来启动器版本的一个非常好的增强功能。