微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在容器 1 内运行的 Docker 应用程序如何从卷安装到主机的容器 2 中读取文件

如何解决在容器 1 内运行的 Docker 应用程序如何从卷安装到主机的容器 2 中读取文件

我们有这样的设置。

Container 1 -> C# Web Application
Container 2 -> Redis Db (The dump file is volume mounted to host machine for persistence purpose)

一个 docker compose 文件可以将两个容器一起运行并将它们链接一个网络下。有了这个 C# 应用程序就可以访问 Redis DB 了。

现在我们想要在我们的应用程序中实现一个功能,应用程序应该定期备份 RedisDb 并将其上传到云。即复制Redis DB的卷挂载转储文件上传到云端。

这有可能实现吗?我无法在互联网上的任何地方找到详细信息,以了解在容器 1 内运行的应用程序如何访问容器 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。