在go项目中通过docker file 来构建镜像,使用镜像来进行后续的工作,是非常高效且常用的工作模式。但如果项目中引入私有仓库,这时通过docker file 文件构建时,会遇见一下几个问题:
1. 私有仓是http协议的问题
//需要在docker file 文件中 新增 命令
ENV GOINSECURE=".myname.com,.gitlab.com,*.gitee.com"
//使用http 协议拉取代码
2. 私有仓拉去代码的账号 密码问题
-
方案一:
在原始的镜像基础上,构建自己的镜像(已保存git 相关账号 密码),业务中docker file 以自己镜像为基础,再开构建。
docker run -it golang:1.16 /bin/sh
//to do
git config --global credential.helper store
git config --global user.email "你的邮箱"
git config --global user.name "你的github用户名"
// 构建自己的镜像
docker commit CONTAINER 新镜像[:TAG] -
方案二
首先在git 中配置SSH 等配置
拷贝密钥,设置私有库拉取
ADD ./.ssh/ /root/.ssh
//配置自己项目地址 (git 代替http)
RUN git config --global url."git@gitlab.com:".insteadOf "http://git.gitlab.com/"
RUN go mod tidy
网友评论