Azure веб-сервис обновляет одно и то же docker изображение каждые несколько часов - PullRequest
1 голос
/ 11 апреля 2020

Я пытаюсь создать приложение с python для сбора и обслуживания данных.
Все данные хранятся в виде базы данных sqlite3 в папке / app / data.

Вот мой Dockerfile

FROM python:3.6.0

WORKDIR /app

COPY './requirements.txt' .

RUN mkdir /app/data
RUN mkdir /app/logs

RUN chmod -R 777 /app/data
RUN chmod -R 777 /app/logs

RUN pip install -r requirements.txt

COPY . .

ENTRYPOINT [ "python", "app.py" ]

Azure берет источник изображения из частного репозитория docker.
Сначала приложение работало нормально, но через несколько часов обновлен (я ничего не менял) и контейнер очищен, что означает, что все мои данные (база данных / журналы) пропали.

Непрерывное развертывание установлено на Выкл, и я не обновляю образ в docker hub.

Как я могу предотвратить восстановление контейнера?

1 Ответ

1 голос
/ 11 апреля 2020

Всегда ли включено в настройках службы приложений?

Кроме того, природа контейнеров делает их эфемерными, поэтому вам никогда не следует хранить данные, которые вы хотите хранить внутри них. При этом служба приложений предоставляет вам простой способ сопоставить том с хранилищем, включенным в вашу службу приложений. Эта функция называется Постоянное общее хранилище и отображает переменную WEBAPP_STORAGE_HOME env в папку / home службы приложений.

В веб-приложении Настройки приложения Вам необходимо установить WEBSITES_ENABLE_APP_SERVICE_STORAGE до true , и внутри вашего контейнера вы увидите папку / home . Эта папка указывает на часть хранилища вашей службы приложений.

Используя Docker Compose файл, вы также можете определить том с помощью этой переменной env:

${WEBAPP_STORAGE_HOME}/LogFiles:/app/logs

Ссылка на до c

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...