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 關注
- 192 瀏覽
添加回答
舉報