我有一个使用go-bindata
编译配置的docker容器。我用
docker run -id \
-v conf:/conf \
-e CONF="/conf" \
my-container
然后在docker容器中,我安装go-bindata,然后运行
RUN go-bindata -prefix $CONF -o $GOPATH/src/github.com/my/repo/dir/conf_generated.go $CW_CONF/config
输出
bindata: Failed to stat input path '/conf/config': lstat /conf/config: no such file or directory
This是导致错误的行。这很奇怪,因为当我进入容器并运行相同的命令时,它可以工作。 stat /conf/config
也有效(它知道文件在那里)。这里发生了什么?为什么在容器构建时没有安装线工作?
答案 0 :(得分:1)
看起来你在Dockerfile中声明了bindata调用。使用RUN前缀时,在没有安装卷的情况下,在容器构建期间执行该操作。如果您使用CMD前缀,它将在执行容器期间运行,然后安装卷并且它应该可以工作。