我在一个docker容器中运行了一个基本的应用程序。该应用程序是用户可以上传文件的页面。上传的文件存储在app/myApp/UploadedFiles中(app文件夹是容器安装我的应用程序的位置)
如果我重新启动容器,我将丢失存储在文件夹app/myApp/UploadedFiles中的所有文件
即使我重启容器,持久化上传文件的最好方法是什么?
我试着在我的docker中使用卷组成文件;
volumes:
- ${WEBAPP_STORAGE_HOME}/var/myFiles:/myApp/UploadedFiles这将在下面的根home>var>myFiles中创建一个文件夹,但是如果我上传文件,我永远不会在这些目录中看到它们。
我该怎么做呢?
我的目标是持久化这些文件,并可以访问它们,例如下载文件。
谢谢
编辑:
我在Azure中使用Container Registry和此docker创建了一个应用程序服务:
version: '2.0'
services:
myWebSite:
image: myWebSite.azurecr.io/myWebSite:latest
volumes:
- ${WEBAPP_STORAGE_HOME}/var/myFiles:/myApp/UploadedFiles
environment:
- COMPOSE_CONVERT_WINDOWS_PATHS=1
ports:
- 5001:443 如果我在网站上传一个文件,这个文件使用BASH转到/myApp/UploadedFiles,我可以转到/home/var/myFiles,但是里面没有任何文件。
我不知道这是不是正确的方法。我的应用程序日志也会有同样的问题。我不知道怎么读我的日志。
发布于 2020-05-17 06:58:56
除了在您正在使用的服务中声明卷之外,您还需要创建另一个部分,以便双向链接卷(从容器到机器,从机器到pc)
如下所示:
volumes:
- database:/var/lib/postgresql/data
volumes:
database:https://stackoverflow.com/questions/61843088
复制相似问题