Docker создает тома в Dockerfile и компилирует приложение на нем - PullRequest
1 голос
/ 28 октября 2019

В моем проекте Docker Django мне нужно для чтения / записи, чтобы создать тома в моем Dockerile и установить / запустить приложение на нем.

Я нашел эту статью: DockerFile в StackOverflow но, искренне, я не понимаю больше об этом.

Здесь мой Dockerfile:

FROM python:3.6-alpine
EXPOSE 8000
RUN apk update
RUN apk add --no-cache make linux-headers libffi-dev jpeg-dev zlib-dev
RUN apk add postgresql-dev gcc python3-dev musl-dev
RUN mkdir /Code

VOLUME /var/lib/cathstudio/data
WORKDIR /Code

COPY ./requirements.txt .

RUN pip install --upgrade pip
RUN pip install -r requirements.txt
ENV PYTHONUNBUFFERED 1

COPY . /Code/

ENTRYPOINT python /Code/core/manage.py runserver 0.0.0.0:8000

в моем исходном файле я добавляю инструкцию VOLUME /var/lib/cathstudio/data, но после этого, как я могу сказатьостальная часть моего кода, чтобы использовать эти тома для WORKDIR, установить файл require.txt, скопировать код и запустить приложение?

я не знаю, что указать это в операторе RUN с директивой -v после сборки, я бы интегрировалсоздание тома и управление им напрямую в dockerfile.

Огромное спасибо заранее

1 Ответ

1 голос
/ 28 октября 2019

для чего-либо ожидаемого pip вы можете указать workdir один раз:

WORKDIR /var/lib/cathstudio/data

для использования в пунктах -t или --target:

pip install -t /var/lib/cathstudio/data

-t,--target

Install packages into <dir>. By default this will not replace existing files/folders in <dir>. Use --upgrade to replace existing

пакеты с новыми версиями

...