我正试图用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集线器存储库获取图像源
起初,应用程序运行良好,但几个小时后,图像得到了更新(我没有更改任何内容(,容器也被清除,这意味着我所有的数据(数据库/日志(都不见了。
Continuous Deployment设置为Off,我不会更新docker hub中的映像。
如何阻止容器重建?
是否在应用程序服务设置中始终打开?
此外,容器的性质使它们具有短暂性,因此您永远不应该将想要保存在容器中的数据存储在容器中。也就是说,应用程序服务为您提供了一种将卷映射到应用程序服务中包含的存储的简单方法。该功能被称为持久共享存储,它将WEBAPP_Storage_HOME环境变量映射到应用程序服务的/HOME文件夹。
在Web应用程序的"应用程序设置"中,您需要将"WEBSITES_ENABLE_App_SERVICE_STORAGE"设置为"true",然后在您的容器中,您将看到一个"主页"文件夹。该文件夹指向应用程序服务的存储部分。
使用Docker Compose文件,您还可以使用env变量定义卷:
${WEBAPP_STORAGE_HOME}/LogFiles:/app/logs
链接到文档