簡體   English   中英

使用 docker build 安裝 github 組織私有包

[英]Install github organization private package using docker build

我是 X 組織的一員。在這里,我們有一個 python 包,它被添加到 requirements.txt 中。 我有權訪問此存儲庫。

當我執行 pip install https://github.com/X/repo.git時,它工作正常。 因為它使用的是我在主機或本地機器上的 git 身份。

但是,當我按如下方式使用 docker 進行 pip 安裝時

FROM python:3.8
COPY ./app ./app
COPY ./requirements.txt ./requirements.txt


# Install git
RUN apt-get update && apt-get install -y git openssh-client

RUN mkdir -p -m 0600 ~/.ssh
RUN ssh-keyscan github.com >> ~/.ssh/known_hosts

RUN --mount=type=ssh pip install git+ssh://git@github.com/X/repo_name.git@setup#egg=repo_name

# Install Dependencies
RUN pip install -r ./requirements.txt

# Configure server
ENV HOST="0.0.0.0"
ENV PORT=5000

# CMD
ENTRYPOINT uvicorn app:app --host ${HOST} --port ${PORT}

# Remove SSH Key
RUN rm ~/.ssh/id_rsa

它拋出以下錯誤在此處輸入圖像描述

我也使用以下方法在 github 中設置了 ssh 密鑰

但是,當我執行ssh -T username@github.com時,它會拋出Permission denied 但是,我擁有組織下的存儲庫的所有者權限。

不確定,如何解決這個問題!

當我執行ssh -T username@github.com時,它拋出 Permission denied

如果您使用的是username@github.com而不是git@github.com ,它總是會拋出“ Permission denied ”,因為“用戶名”部分是根據您注冊到 GitHub 配置文件的公鑰推斷出來的。 但是SSH查詢的遠程用戶必須是GitHub的服務賬號git

其次,如果您在映像中導入私鑰,請確保使用多階段構建,如Vladislav Supalov的“ 從您的 Dockerfile 訪問私有存儲庫而無需留下您的 SSH 密鑰”中所述。

並確保~/.ssh elements 設置正確的權限

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM