我正在使用以下插件https://github.com/bmuschko/gradle-docker-plugin,而我正试图弄清楚如何将环境变量传递给任务类型DockerStartContainer中的docker容器。
当我遇到以下情况时,我收到错误:
无法设置未知属性' VAR1'为了任务 ':createDockerContainer'类型 com.bmuschko.gradle.docker.tasks.container.DockerCreateContainer。
task buildDockerImage(type: DockerBuildImage) {
dependsOn buildDockerAssets
inputDir = buildDockerfile.destFile.parentFile
tags = [ "${dockerRepo}:${project.findProperty('dockerTag') ?: 'latest'}".toString() ]
}
task createDockerContainer(type: DockerCreateContainer) {
dependsOn buildDockerImage
targetImageId { buildDockerImage.getImageId() }
VAR1 = project.findProperty('VAR1') ?: 'va1'
VAR2 = project.findProperty('VAR2') ?: 'val2'
}
我猜我需要做env = ["var1=val1", "var2=val2"]
之类的事情,但我不确定。任何人都知道正确的方法吗?
答案 0 :(得分:3)
VAR1
和VAR2
不存在DockerCreateContainer
类型的属性。查看您可以修改的source code, there is an env
property。
示例:
task createDockerContainer(type: DockerCreateContainer) {
dependsOn buildDockerImage
targetImageId { buildDockerImage.getImageId() }
env = [
"VAR1=${project.findProperty('VAR1') ?: 'va1'}",
"VAR2=${project.findProperty('VAR2') ?: 'val2'}"
]
}
2018/07/09编辑:最新版本的插件(see the release notes)已弃用env
属性,转而使用名为{{1}的新属性那是一个envVars
。发行说明指出它是在3.4.0版本中发布的。
现在可以在test code(包含在下面)中看到如何配置任务的示例:
Map<?, ?>