我正在嘗試為 fastapi 應用程式創建 docker 容器。此應用程式將使用托管在 github 上的私有 pip 包。
在本地開發程序中,我使用以下命令安裝依賴項:
pip install git https://<ACCESS_TOKEN>:[email protected]/username/projectname
我在 dockerfile 中嘗試了相同的方法,但是沒有成功
FROM python:3.9
WORKDIR /code
COPY ./requirements.txt /code/requirements.txt
ARG ACCESS_TOKEN=default_value
RUN /usr/local/bin/python -m pip install --upgrade pip
RUN echo "pip install git https://${ACCESS_TOKEN}:[email protected]/username/projectname"
RUN pip install --no-cache-dir --upgrade -r requirements.txt
COPY . /code
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8080"]
docker build --build-arg ACCESS_TOKEN=access_token_value .
容器構建沒有錯誤,并且在構建程序中我可以看到令牌已正確傳遞。但是,在運行容器后,docker run <containerid>出現以下錯誤:
ModuleNotFoundError: No module named 'projectname'
有沒有人嘗試過這樣的事情?這是正確的方法嗎?
uj5u.com熱心網友回復:
如果我沒記錯的話,你可以運行你的 pip 命令而不用echo:
RUN pip install git https://${ACCESS_TOKEN}:[email protected]/username/projectname
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/533190.html
