首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker compose Volume -上传的文件

Docker compose Volume -上传的文件
EN

Stack Overflow用户
提问于 2020-05-17 04:23:58
回答 1查看 643关注 0票数 3

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

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

即使我重启容器,持久化上传文件的最好方法是什么?

我试着在我的docker中使用卷组成文件;

代码语言:javascript
复制
volumes:
      - ${WEBAPP_STORAGE_HOME}/var/myFiles:/myApp/UploadedFiles

这将在下面的根home>var>myFiles中创建一个文件夹,但是如果我上传文件,我永远不会在这些目录中看到它们。

我该怎么做呢?

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

谢谢

编辑:

我在Azure中使用Container Registry和此docker创建了一个应用程序服务:

代码语言:javascript
复制
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,但是里面没有任何文件。

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

EN

回答 1

Stack Overflow用户

发布于 2020-05-17 06:58:56

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

如下所示:

代码语言:javascript
复制
volumes:
      - database:/var/lib/postgresql/data
volumes:
  database:
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61843088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档