I have a docker container that uses go-bindata
to compile a config. I run the docker container with
docker run -id \
-v conf:/conf \
-e CONF="/conf" \
my-container
Then in the docker container, I install go-bindata, and run
RUN go-bindata -prefix $CONF -o $GOPATH/src/github.com/my/repo/dir/conf_generated.go $CW_CONF/config
And the output is
bindata: Failed to stat input path '/conf/config': lstat /conf/config: no such file or directory
This is the line that is causing the error. It is odd because when I enter the container and run the same command, it works. stat /conf/config
also works (it knows the file is there). What is going on here? Why doesn't the install line work when the container is building?
It looks like you have the bindata call declared in your Dockerfile. With the RUN prefix it's executed during build of the container when there is no volume yet mounted. If you use the CMD prefix it will run during execution of the container, then the volume is mounted and it should work.