3 回答
TA贡献1860条经验 获得超8个赞
我认为为此使用 ssh 密钥是最干净的。您实际上可以告诉 docker 使用本地 ssh 代理的配置。您需要为此启用 buildkit。
eval "$(ssh-agent -s)"
ssh-add /path/to/ssh-key
docker build --ssh default --tag example .
在您的 Dockerfile 中,您需要将其安装在特定的运行指令上:
RUN --mount=type=ssh go mod download
这需要您将相同的 ssh 密钥添加到您的私有 bitbucket 存储库,以便您可以使用它来下载依赖项。
有更多方法可以在运行指令的生命周期内安装秘密。
TA贡献1833条经验 获得超4个赞
对我来说帮助添加“机器 github.com 登录 USERNAME 密码 APIKEY”到 $HOME/.netrc
我的文件:
FROM golang:latest as builder
ARG GIT_CONFIG
WORKDIR /builder/
ADD . /builder/
RUN "${GIT_CONFIG}" > $HOME/.netrc
&& CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main ./cmd/main.go
&& rm -f $HOME/.netrc
FROM scratch
COPY --from=builder /builder/main/ .
也许它会对你有所帮助。
- 3 回答
- 0 关注
- 158 浏览
添加回答
举报