dsfsdf7852
2018-01-23 03:48
采纳率: 100%
浏览 135

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?

图片转代码服务由CSDN问答提供 功能建议

我有一个使用 go-bindata 编译配置的docker容器。 我使用

  docker运行docker容器-id \
 -v conf:/ conf \
 -e CONF =“ / conf” \
 my-container  
   
 
 

然后在docker容器中,安装go-bindata,然后运行

  RUN go-bindata- 前缀$ CONF -o $ GOPATH / src / github.com / my / repo / dir / conf_genic.go $ CW_CONF / config 
   
 
 

输出为

  bindata:无法统计输入路径'/ conf / config':lstat / conf / config:没有这样的文件或目录
   
 \  n 

是 导致错误。 这很奇怪,因为当我进入容器并运行相同的命令时,它可以工作。 stat / conf / config 也可以工作(它知道文件在那里)。 这里发生了什么? 为什么在构建容器时安装行不起作用?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

相关推荐 更多相似问题