docker出错,为Spring Cloud Dataflow编写-“未设置DATAFLOW_VERSION!”

时间:2019-05-28 12:56:50

标签: docker docker-compose spring-cloud-dataflow

我是spring-cloud-data-flow的新手。我正在关注Spring Cloud Data Flow(https://dataflow.spring.io/docs/installation/local/docker/)的文档。我已经下载了docker-compose.yml文件并将其放在D:\ Dev \ spring-cloud-dataflow>目录中。当我尝试运行以下命令时:

    D:\Dev\spring-cloud-dataflow> set DATAFLOW_VERSION=2.1.0.RELEASE
    D:\Dev\spring-cloud-dataflow> set SKIPPER_VERSION=2.0.2.RELEASE
    D:\Dev\spring-cloud-dataflow> docker-compose up

它给了我以下错误:

    ERROR: Missing mandatory value for "image" option in service "dataflow-server": DATAFLOW_VERSION is not set!

我正在使用Powershell,所以我尝试使用Set-Variable而不是set,但这给了我同样的错误。

    D:\Dev\spring-cloud-dataflow> Set-Variable -Name "DATAFLOW_VERSION" -Value "2.1.0.RELEASE"
    D:\Dev\spring-cloud-dataflow> Set-Variable -Name "SKIPPER_VERSION" -Value "2.0.2.RELEASE"
    D:\Dev\spring-cloud-dataflow> docker-compose up

错误:服务“数据流服务器”中的“图像”选项缺少必填值:未设置DATAFLOW_VERSION!

我在本教程中尝试了速记版,但也没有起作用:

    DATAFLOW_VERSION=2.1.0.RELEASE SKIPPER_VERSION=2.0.2.RELEASE docker-compose up

我可以看到变量已设置:

    D:\Dev\spring-cloud-dataflow> echo $DATAFLOW_VERSION
    2.1.0.RELEASE
    D:\Dev\spring-cloud-dataflow> echo $SKIPPER_VERSION
    2.0.2.RELEASE

我不明白为什么会弹出此错误。

3 个答案:

答案 0 :(得分:1)

我在Windows 10中遇到了相同的问题。通过控制面板下的“编辑系统环境变量”来设置变量,而不是使用“设置”命令来解决该问题。可能会帮助使用Windows 10的其他人。

答案 1 :(得分:0)

不确定为什么它不能解析变量。也许变量的解析不在您的环境中发生(Windows?)。

暂时,您可以在docker compose yml文件中明确设置版本值并运行以查看其设置是否正确吗?

答案 2 :(得分:0)

@selins_sofa,PowerShell有一个peculiar way for setting environment variables

$Env:<variable-name> = "<new-value>"

因此,您应该像这样设置DataFlow和Skipper版本:

$Env:DATAFLOW_VERSION="2.5.0.BUILD-SNAPSHOT"
$Env:SKIPPER_VERSION="2.4.0.BUILD-SNAPSHOT"