Wpis z mikrobloga

Ogarnia ktoś jak w #docker zrobić źeby najpierw się zbindował volume z moim projektem, a dopiero potem instalowały zależności? Chodzi o to żeby nie trzeba było od nowa budować kontenera żeby coś doinstalować przy zmianie brancha itp. Teraz jak binduje to wywala mi folder venv z dockera (bo go nie ma w źródle). #python bo to pythonowy projekt
  • 8
@RolnikSamWdolinie: Ale dlaczego nie chcesz kopiować projektu do kontenera?
Dzięki temu jeżeli pliki się nie zmieniły to Docker jest w stanie zkeszować dany build step.

Jeżeli chcesz mieć casha zależności projektu to najpierw dodajesz i budujesz zależności, a potem kopiujesz resztę projektu.

Tak standardowo robi się kilka kontenerów do zbudowania projektu, a potem w kolejny czysty kontener z minimalną liczbą zależności i kopiuje tam zbudowany projekt.
@lionbest: pipem

FROM python:3.7.5

WORKDIR /var/www/dev
RUN python -m venv /var/www/dev/venv
ENV PATH="/var/www/dev/venv/bin:$PATH"
ENV C_FORCE_ROOT=true

COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

EXPOSE 5000

CMD ["sh", "-c", "python -u manage.py dev"]