【发布时间】:2017-10-02 15:08:09
【问题描述】:
我正在尝试使用我的 golang 项目创建一个 docker 映像。该项目有一些本地包,如 math:
/myproject/
src/
main.go
utils/
math.go
在 main.go 中,我包含了很多包,还包含来自 math.go 的 math。
我的 docker 文件如下所示:
FROM golang:latest
ENV GOPATH=/golib/
RUN /usr/local/go/bin/go get github.com/julienschmidt/httprouter
CMD /usr/local/go/bin/go run main.go
EXPOSE 10004
由于它是本地包,所以我如何也包含数学包,所以它没有部署在 github 上?
yml 文件:
services:
cozonac:
image: cozonac:local
ports:
- "10004:10004"
volumes:
- ./src/:/go/
谢谢
【问题讨论】:
-
您需要将代码添加或复制到图像中。另外,不要使用
go run。那是一个玩具。请改用go build或go install。 -
您是如何将
myproject放入您的容器中的? -
我为docker添加了yml文件
-
@Lucian:如果您将
src目录挂载为一个卷,并且您可以构建主包,那么utils也在那里。你到底有什么问题? -
哦,是的,彼得是对的。您将代码放在默认的 GOPATH 中,然后更改 GOPATH。
标签: docker go docker-compose dockerfile