Docker App 运行 Inside Container 1 应该如何从容器 2 中读取文件,容器 2 是挂载到主机的卷
How does Docker App Running Inside Container 1 should read file from Container 2 which is Volume Mounted to Host Machine
我们有这样的设置。
Container 1 -> C# Web Application
Container 2 -> Redis Db (The dump file is volume mounted to host machine for persistence purpose)
有一个 docker 组合文件 运行 两个容器在一起,link 它们在一个网络下。使用此 C# 应用程序能够访问 Redis 数据库并且一切正常。
现在我们想在我们的应用程序中实现一个功能,应用程序应该定期备份 RedisDb 并将其上传到云端。即复制Redis DB的volume mounted dump文件上传到云端
这可以实现吗?我无法在互联网上的任何地方找到详细信息,无法了解容器 1 中的应用 运行ning 如何访问容器 2 的卷装载文件。
您也可以在容器 1 上安装相同的 redis 持久卷(对于您的目的,只读模式就足够了)。那么 dump.rdb 文件将可供您的 C# 应用程序访问。
示例:
version: "3.9"
services:
redis:
image: redis
volumes:
- /redis_data_path_on_host:/usr/share/nginx/html
app:
image: app
volumes:
- /redis_data_path_on_host:/usr/share/nginx/html:ro
我们有这样的设置。
Container 1 -> C# Web Application
Container 2 -> Redis Db (The dump file is volume mounted to host machine for persistence purpose)
有一个 docker 组合文件 运行 两个容器在一起,link 它们在一个网络下。使用此 C# 应用程序能够访问 Redis 数据库并且一切正常。
现在我们想在我们的应用程序中实现一个功能,应用程序应该定期备份 RedisDb 并将其上传到云端。即复制Redis DB的volume mounted dump文件上传到云端
这可以实现吗?我无法在互联网上的任何地方找到详细信息,无法了解容器 1 中的应用 运行ning 如何访问容器 2 的卷装载文件。
您也可以在容器 1 上安装相同的 redis 持久卷(对于您的目的,只读模式就足够了)。那么 dump.rdb 文件将可供您的 C# 应用程序访问。
示例:
version: "3.9"
services:
redis:
image: redis
volumes:
- /redis_data_path_on_host:/usr/share/nginx/html
app:
image: app
volumes:
- /redis_data_path_on_host:/usr/share/nginx/html:ro