创建docker container时报 no such file or directory: unknown

系统环境 centos7
项目目录 my_test_server/api
其中Dockerfile

FROM golang:latest

WORKDIR $GOPATH/src/my_test_server/api
COPY . $GOPATH/src/my_test_server/api
RUN  go build .

EXPOSE 7777
ENTRYPOINT ["./api"]

build image 成功,但是在
docker run -v /home/project/my_test_server/api:/go/src/my_test_server/api
报错

Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "exec: \"./api\": stat ./api: no such file or directory": unknown.

虚心请教上面的问题多谢

PS 目前 只能先编译好,然后跑在docker container中

阅读 9.8k
2 个回答

如果你是想以目录形式挂载, /go/src/zy_consumer_server/api要在镜像里事先创建好才行.
你 Dockerfile 里创建的是 $GOPATH/src/my_test_server/api, 挂载时是另一个, 不是搞错了?

新手上路,请多包涵

因为作为入口点启动的时候docker会把容器内的目录映射成本地的,如果容器内本身有文件,会被删除,如果你本地api 下面有文件才行。所以入口点的文件最好不要做成映射目录。。。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题