Docker撰写卷-上传的文件

时间:2020-05-16 20:23:57

标签: docker docker-compose dockerfile docker-volume docker-container

我在Docker容器中有一个基本应用程序runnig。该应用程序是一个页面,用户可以在其中上传文件。上传的文件存储在app / myApp / UploadedFiles内部(应用文件夹是容器安装我的应用的位置)

如果重新启动容器,则丢失了存储在文件夹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,但是里面没有任何文件。

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

1 个答案:

答案 0 :(得分:0)

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

赞:

volumes:
      - database:/var/lib/postgresql/data
volumes:
  database:
相关问题