如果.env文件与docker-compose.yml目录相同,则docker-compose将自动读取该文件。考虑到这一点,我继续在.env文件中定义app-container环境变量来存储容器URL,如下所示:
app-container=12345.dkr.ecr.us-west-2.amazonaws.com/container-image:v003然后,在docker-compose.yml文件中,我用环境变量app-container替换容器URL。
version: '3'
services:
app1:
build:
context: .
dockerfile: my.dockerfile
image: ${app-container}如果我可以传递相同的app-container环境变量来替换在Helm的values.yaml文件中定义的容器的URL,那就太好了。因此,不是显式地存储容器的URL
app:
image: 12345.dkr.ecr.us-west-2.amazonaws.com/container-image:v003Helm的values.yaml文件可以使用已在.env文件中定义并由docker-compose使用的相同app-container环境变量。然后,可以简单地将舵机的values.yaml文件定义为:
app:
image: ${app-container}我想知道是否可以在docker-compose和Helm之间共享相同的env文件?
发布于 2019-08-07 12:25:42
试试这个,它有点老生常谈的方式:
.env文件设置环境变量。$ cat .env
appcontainer=12345.dkr.ecr.us-west-2.amazonaws.com/container-image:v003
$ while read LINE; do export "$LINE"; done < .env注意:您需要从app-container名称中删除-。否则,在设置环境变量bash: export: app-container=12345.dkr.ecr.us-west-2.amazonaws.com/container-image:v003': not a valid identifier时将出现此错误
--set选项在values.yaml中显式设置环境。helm install --set app.image=$appcontainer ./mychart但理想情况下,为您的docker-compose和helm chart提供单独的env会更好。
希望这能有所帮助。
发布于 2019-08-07 12:15:02
不是直接的,您必须编写一个脚本将一种格式转换为另一种格式。
https://stackoverflow.com/questions/57386315
复制相似问题