【发布时间】:2020-01-04 20:59:18
【问题描述】:
我有 2 个应用程序。
1.后端nodejs应用
2.前端nodejs应用
两者都在 docker 容器中运行。
我的目标是从后端应用程序上传图像并从前端应用程序访问它们。我猜,在容器之间共享图像文件的唯一方法是卷。 所以我在 docker-compose 文件中创建了一个卷“资产”。但是如何从后端应用程序将数据写入卷文件夹,以及如何从前端应用程序访问卷文件夹。
预期行为
// on backend app
fs.writeFileSync("{volume_magic_path}/sample.txt", "Hey there!");
// on frontend app
fs.readFileSync("{volume_magic_path}/sample.txt", 'utf8');
docker-compose.yml
version: "3.7"
services:
express:
build: ./
restart: always
ports:
- "5000:5000"
volumes:
- .:/usr/src/app
volumes:
assets:
所以基本上,我应该为“volume_magic_path”写什么来访问卷文件夹?
【问题讨论】:
-
您考虑过重新架构吗?共享卷无法扩展 - 拥有一个专用的“存储节点”(可以扩展到多个)似乎是更好的选择。
-
这样的服务器会有数百台,我无法为每个服务器管理不同的存储节点
-
这验证了我的观点!数以百计的服务器共享量是等待发生的意外。
标签: node.js docker docker-compose docker-volume