Meteor - 引用 docker 图像之外的目录以进行持久文件存储
Meteor - Reference a directory outside of the docker image for persistent file storage
我正在做一个需要 image/file 上传的项目。该项目是用 meteorJs 构建的,我正在使用 ostrio:files 包进行文件上传。
如果上传的文件没有存放在app build目录之外,这些文件将被删除。所以对于持久文件存储,我需要存储在构建文件夹之外的目录中。
这在我的本地计算机 (Windows 10) 上运行良好,因为我可以轻松地在我的计算机中引用路径。但是当我使用 MUPX 将 Meteor 应用程序部署到服务器时,我发现很难引用服务器的根目录,因为该应用程序被包装在 docker 容器中。
知道如何从 docker 中引用主机上的根目录/任何文件夹吗?谢谢
您应该在部署时使用 Docker 卷。它在 docker 容器外放置一个文件夹,并将所有文件保存在那里。此外,我建议使用 mup
而不是 mupx
,因为它非常适合我。您需要做的就是更新您的 mup
设置,它会为您完成所有工作。
这是它:
module.exports = {
// ...
meteor: {
name: 'app',
path: '../app',
volumes: { // lets you add docker volumes (optional)
"/host/path": "/container/path",
"/second/host/path": "/second/container/path"
},
//...
},
// ...
};
如您所见,您可以添加多个数据卷并将它们与您的 meteor 应用程序一起使用。
我正在做一个需要 image/file 上传的项目。该项目是用 meteorJs 构建的,我正在使用 ostrio:files 包进行文件上传。 如果上传的文件没有存放在app build目录之外,这些文件将被删除。所以对于持久文件存储,我需要存储在构建文件夹之外的目录中。
这在我的本地计算机 (Windows 10) 上运行良好,因为我可以轻松地在我的计算机中引用路径。但是当我使用 MUPX 将 Meteor 应用程序部署到服务器时,我发现很难引用服务器的根目录,因为该应用程序被包装在 docker 容器中。
知道如何从 docker 中引用主机上的根目录/任何文件夹吗?谢谢
您应该在部署时使用 Docker 卷。它在 docker 容器外放置一个文件夹,并将所有文件保存在那里。此外,我建议使用 mup
而不是 mupx
,因为它非常适合我。您需要做的就是更新您的 mup
设置,它会为您完成所有工作。
这是它:
module.exports = {
// ...
meteor: {
name: 'app',
path: '../app',
volumes: { // lets you add docker volumes (optional)
"/host/path": "/container/path",
"/second/host/path": "/second/container/path"
},
//...
},
// ...
};
如您所见,您可以添加多个数据卷并将它们与您的 meteor 应用程序一起使用。