我想從 bitbucket 下載一個私有存盤庫,但出現一些錯誤
fatal: could not read Username for 'https://bitbucket.org': terminal prompts disabled
這是我的 dockerfile
FROM golang:1.17 as build
RUN apt update && apt upgrade -y && \
apt install -y git \
make openssh-client
WORKDIR /src
COPY . .
RUN git config --global url."https://username:[email protected]".insteadOf "https://bitbucket.org"
RUN go mod tidy
RUN go build -o user-management
uj5u.com熱心網友回復:
永遠不要這樣做,您需要在docker build命令之外下載 repo,并COPY在構建時用于將這些檔案傳輸到影像中
uj5u.com熱心網友回復:
我認為為此使用 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 存盤庫中,以便您可以使用它來下載依賴項。
有更多方法可以在運行指令的生命周期內掛載秘密。請參閱檔案。
uj5u.com熱心網友回復:
首先,您可以在 Bitbucket 上設定一個 ssh 密鑰。
https://support.atlassian.com/bitbucket-cloud/docs/set-up-an-ssh-key/
使用 .將您的私鑰復制到 docker 容器COPY。
最后,在 Dockerfile 中通過 git 協議運行 git clone。
就像:
git clone [email protected]:accountname/reponame.git
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/474364.html
上一篇:python在類或方法中獲取新值
下一篇:我還應該宣告GOPATH嗎?
