【问题标题】:MUP (meteor) deploy deletes filesMUP(流星)部署删除文件
【发布时间】:2016-09-17 22:37:56
【问题描述】:

遗憾的是,尽管 mup deploy 运行良好,但我有一个名为“.uploads”的文件夹,用户可以将文件上传到该文件夹​​中。

每次部署都会删除目录中的文件。我想从删除文件的部署中排除或保护文件,有什么想法吗?

目前我提交了一个问题:https://github.com/arunoda/meteor-up/issues/1022

不确定是 mup 问题还是我的系统设置问题。我使用 tomitrescak:meteor-uploads 和 cfs:file-collection。他们都有同样的问题。

【问题讨论】:

  • 你能否重命名文件夹并删除点前缀,因为在流星的构建过程中通常会忽略带点前缀的文件夹
  • 问题是我希望用户上传的文件不会在实时网站上被覆盖,而不是让我能够从本地源文件夹上传文件。当我部署其他用户上传的实时网站文件时被删除。
  • 抱歉误读了,如果您将图像目录移动到构建路径之外的文件夹,那么 mup 不会重新部署该文件夹呢?不久前,我有这种方法与 mup 和 collectionfs 文件系统一起使用,但最终切换到将 cfs 与 aws s3 存储桶一起使用,因为这意味着即使我重新部署整个服务器,图像仍然存在,并且我可以托管多个实例而不必担心重新部署图像跨度>
  • 我稍后会尝试发布解决方案。它需要挂载 docker 卷,以便您可以像您提到的那样在 dicker 上下文之外访问更高的文件系统架构

标签: meteor


【解决方案1】:

不过据我看应该很容易,你需要修改https://github.com/arunoda/meteor-up/blob/mupx/templates/linux/start.sh#L26的脚本

并添加一个新的映射。您可以映射多个卷,例如:Mounting multiple volumes on a docker container?

所以您的脚本看起来像(将主机上的文件夹 /opt/uploads/myapp 安装到容器中的文件夹 /opt/uploads 中):

docker run \
    -d \
    --restart=always \
    --publish=$PORT:80 \
    --volume=$BUNDLE_PATH:/bundle \
    --volume=/opt/uploads/myapp:/opt/uploads/ \      .... this is the new line
    --env-file=$ENV_FILE \
    --link=mongodb:mongodb \
    --hostname="$HOSTNAME-$APPNAME" \
    --env=MONGO_URL=mongodb://mongodb:27017/$APPNAME \
    --name=$APPNAME \
    meteorhacks/meteord:base

这可以在 MUP 的“start.sh”中找到,直到此问题得到解决,您可以通过选项挂载卷。

另请参阅此处的讨论:https://github.com/tomitrescak/meteor-uploads/issues/235#issuecomment-228618130

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多