os.Lstat在基于ubuntu的Docker容器上的已装入卷中失败

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.