Azure Web 服务每隔几个小时更新一次相同的 docker 图像
Azure web service updating same docker image every few hours
我正在尝试使用 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 中心存储库获取图像源。
起初,应用程序运行良好,但几个小时后图像得到更新(我没有做任何更改)并且容器被清除,这意味着我的所有数据(database/logs)都消失了。
持续部署设置为关闭,我没有更新 docker 中心中的图像。
如何防止容器重建?
是否在应用服务设置中打开了 Always On?
此外,容器的性质使它们变得短暂,因此您永远不应在其中存储想要保留的数据。也就是说,应用服务为您提供了一种将卷映射到应用服务中包含的存储的简单方法。该功能称为 持久共享存储,它将 WEBAPP_STORAGE_HOME 环境变量映射到应用服务的 /home文件夹。
在网络应用程序的应用程序设置中,您需要将WEBSITES_ENABLE_APP_SERVICE_STORAGE设置为true 在你的容器中,你现在会看到一个 /home 文件夹。该文件夹指向您的应用服务的存储部分。
使用 Docker Compose 文件,您还可以使用该环境变量定义卷:
${WEBAPP_STORAGE_HOME}/LogFiles:/app/logs
我正在尝试使用 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 中心存储库获取图像源。
起初,应用程序运行良好,但几个小时后图像得到更新(我没有做任何更改)并且容器被清除,这意味着我的所有数据(database/logs)都消失了。
持续部署设置为关闭,我没有更新 docker 中心中的图像。
如何防止容器重建?
是否在应用服务设置中打开了 Always On?
此外,容器的性质使它们变得短暂,因此您永远不应在其中存储想要保留的数据。也就是说,应用服务为您提供了一种将卷映射到应用服务中包含的存储的简单方法。该功能称为 持久共享存储,它将 WEBAPP_STORAGE_HOME 环境变量映射到应用服务的 /home文件夹。
在网络应用程序的应用程序设置中,您需要将WEBSITES_ENABLE_APP_SERVICE_STORAGE设置为true 在你的容器中,你现在会看到一个 /home 文件夹。该文件夹指向您的应用服务的存储部分。
使用 Docker Compose 文件,您还可以使用该环境变量定义卷:
${WEBAPP_STORAGE_HOME}/LogFiles:/app/logs