我有这个:
ADD https://bitbucket.org/teros/vana/raw/"$commit"/mw/requirements.txt 'requirements.txt'
但是 HTTP 请求不起作用,因为我需要信用。我确实知道这个curl命令有效:
bitbucket_curl(){
curl -H 'Authorization:Basic YW1bGx..plM2JyKg==' "https://api.bitbucket.org$@"
}
(令牌已修改,但命令是o/w正确的)
那么也许我可以将一个令牌作为 Bitbucket 的 url 参数包含在内?
应该像这样简单:
ARG bitbucket_pwd
ARG commit
ADD "https://[email protected]:[email protected]/teros/vana/raw/$commit/mw/requirements.txt" '/temp/requirements.txt'
您可以使用
--build-arg
传递 ARG
docker build --build-arg bitbucket_pwd="$bitbucket_password"
请勿将
--build-arg
与 ARG
/ENV
或 COPY
一起使用来将机密传递给您的构建。在这两种情况下,秘密都可以在以后暴露。为了不暴露镜像中的秘密,您应该使用 Docker build Secrets。 curl
的示例:
构建命令:
export CURL_CREDS="machine bitbucket.org login MY_USERNAME password MY_PASSWORD"
docker build --secret id=curl,env=CURL_CREDS .
Docker 命令:
RUN --mount=type=secret,id=curl \
curl -o /temp/requirements.txt --netrc-file /run/secrets/curl https://bitbucket.org/teros/vana/raw/$commit/mw/requirements.txt