selins sofa
selins sofa

Reputation: 91

Error with docker-compose up for Spring Cloud Dataflow - "DATAFLOW_VERSION is not set!"

I am a newbie to spring-cloud-data-flow. I am following the documentation of Spring Cloud Data Flow (https://dataflow.spring.io/docs/installation/local/docker/). I have downloaded docker-compose.yml file and put it in D:\Dev\spring-cloud-dataflow> directory. When I try to run following commands:

    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

It gaves me following error:

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

I am using Powershell, so I tried to use Set-Variable instead of set, but this gave me the same error.

    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

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

I tried the short handed version in the tutorial but did not worked also:

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

I can see the variables are set:

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

I could not understand why this error pops up.

Upvotes: 2

Views: 750

Answers (3)

tzolov
tzolov

Reputation: 604

@selins_sofa, The PowerShell has a peculiar way for setting environment variables:

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

So you should set the DataFlow and Skipper versions like this:

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

Upvotes: 0

Jason Jiang
Jason Jiang

Reputation: 41

I've encountered the same issue in windows 10. Set the variables via "Edit the system environment variables" under control panel instead of using "Set" command solved the problem. May help others using windows 10.

Upvotes: 1

Ilayaperumal Gopinathan
Ilayaperumal Gopinathan

Reputation: 4179

Not sure about why it doesn't resolve the variables. Maybe the resolution of the variable doesn't take place in your environment (Windows?).

For the time being, can you set the version values explicitly inside the docker compose yml file and run to see if it sets up correctly?

Upvotes: 1

Related Questions