gpt4 book ai didi

gradle - 覆盖 DockerStartContainer 上的环境变量

转载 作者:行者123 更新时间:2023-12-02 09:00:22 25 4
gpt4 key购买 nike

我正在使用以下插件 https://github.com/bmuschko/gradle-docker-plugin我正在尝试弄清楚如何将环境变量传递给任务类型 DockerStartContainer 中的 docker 容器。

当我运行以下命令时,出现错误:

Could not set unknown property 'VAR1' for task ':createDockerContainer' of type 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"] 的事情,但我只是不确定。有人知道正确的方法吗?

最佳答案

VAR1VAR2不作为 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属性支持使用名为 envVars 的新属性那是 Map<?, ?> 。发行说明指出它是在版本 3.4.0 中发布的。

现在可以在 test code 中看到如何配置任务的示例。 (包括在下面):

task createContainer(type: DockerCreateContainer) {
dependsOn pullImage
targetImageId { pullImage.getImageId() }
cmd = ['env']

// deprecated, use the below examples
env = ['HELLO=WORLD']

// add by appending new map to current map
envVars << ['one' : 'two', 'three' : 'four']

// add by calling helper method N number of times
withEnvVar('five', 'six')
withEnvVar('seven', 'eight')
}

关于gradle - 覆盖 DockerStartContainer 上的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47836017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com