Docker撰写卷-上载文件

Docker撰写卷-上载文件,docker,docker-compose,dockerfile,docker-volume,docker-container,Docker,Docker Compose,Dockerfile,Docker Volume,Docker Container,我有一个在docker容器中运行的基本应用程序。应用程序是一个用户可以上传文件的页面。上载的文件存储在app/myApp/UploadedFiles中(app文件夹是容器安装我的应用程序的地方) 如果重新启动容器,则会丢失文件夹app/myApp/UploadedFiles中存储的所有文件 即使重新启动容器,保存上传文件的最佳方法是什么 我试图使用docker compose文件中的卷 volumes: - ${WEBAPP_STORAGE_HOME}/var/myFiles:/my

我有一个在docker容器中运行的基本应用程序。应用程序是一个用户可以上传文件的页面。上载的文件存储在app/myApp/UploadedFiles中(app文件夹是容器安装我的应用程序的地方)

如果重新启动容器,则会丢失文件夹app/myApp/UploadedFiles中存储的所有文件

即使重新启动容器,保存上传文件的最佳方法是什么

我试图使用docker compose文件中的卷

volumes:
      - ${WEBAPP_STORAGE_HOME}/var/myFiles:/myApp/UploadedFiles
这会在下面的根目录home>var>myFiles中创建一个文件夹,但是如果我上传文件,我就不会在这些目录中看到它们

我该怎么做

我的目标是持久化文件,并可以访问它们,例如下载文件

谢谢

编辑:

我使用Container Registry在Azure中创建了一个应用程序服务,此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 
如果我在网站上传文件,文件将转到/myApp/UploadedFiles 使用BASH,我可以转到/home/var/myFiles,但里面没有任何文件


我不知道这是不是正确的方法。我的应用程序日志也有同样的问题。我不知道如何阅读我的日志。

除了在您正在使用的服务中声明卷之外,您还需要创建另一个部分,以便以两种方式链接卷(从容器到机器,从机器到pc)

像这样:

volumes:
      - database:/var/lib/postgresql/data
volumes:
  database:

使用卷(命名卷或主机目录中的绑定装载)是解决此问题的正确方法。如果它似乎不起作用,请在您的问题中提供足够的信息,以便我们重现问题,我们可能会帮助您解决问题。但什么是数据库:?我知道/var/lib/postgresql/data是应用程序在容器中写入的文件夹。但是我怎样才能读取这些文件呢?哪里