У меня есть файл require.txt, который содержит следующий пакет:
git+https://username:password@gitlab.mycompany.com/mypackage.git@master#egg=mypackage
Я могу создать свой образ докера, используя базовый файл докера.
Тем не менее, я пытаюсь использовать более сложный файл докера, чтобы сделать мое изображение докера максимально тонким:
FROM python:3.7-alpine as base
COPY . /app
WORKDIR /app
FROM base AS dependencies
COPY requirements.txt ./
RUN apk add --no-cache make automake gcc g++ git && \
pip install -r requirements.txt
FROM base
WORKDIR /app
COPY . /app
COPY --from=dependencies /root/.cache /root/.cache
COPY requirements.txt ./
RUN pip install -r requirements.txt && rm -rf /root/.cache
EXPOSE 8000
CMD python main.py
Проблема в том, что на последнем этапе сборки я получаю сообщение об ошибке, которое «git» не может быть найдено, т. Е. Сборка пытается извлечь «mypackage» вместо того, чтобы извлекать его из части «зависимости». Есть идеи как это исправить?
Ошибка:
Error [Errno 2] No such file or directory: 'git': 'git' while executing command git clone -q Cannot find command 'git' - do you have 'git' installed and in your PATH?