在做课程作业时,老师要求将本地golang项目build成docker镜像,build过程中会出现golang.org包无法下载的问题,开启VPN也没能解决。
可以从dockerfile解决,编写dockerfile时,增加指令,使构建镜像时将本地的golang.org包复制一份到镜像中对应目录下,因为dockerfile构建镜像时,上下文环境是dockerfile所在目录,我在dockerfile中访问其他上级目录没能成功,所以我将golang.org包复制到了dockerfile目录中,然后将其copy到镜像对应目录下,最后将本地项目copy进镜像中之后,记得要把此golang.org包删除,因为他现在是多余的,我们已经将其移到了$GOPATH/src/golang.org
中。
// 从本地复制golang.org包到镜像环境中
COPY "golang.org/" "$GOPATH/src/golang.org/"
COPY . "$GOPATH/src/github.com/CODEJY/agenda-go-server"
// 删除项目文件中多余的golang.org包
RUN rm -r "$GOPATH/src/github.com/CODEJY/agenda-go-server/golang.org"
网友评论