r - 如何将 iframe 指向 docker 网络中的 url?
问题描述
我有两个码头集装箱:
web
, 包含带有一些静态 html 的 nginxshiny
, 包含一个 R Shiny Web 应用程序
运行时,可以通过主机上的 localhost:3838 访问闪亮的 Web 应用程序,而通过 localhost:80 访问静态 html 站点。
我的目标是通过 docker-compose 制作一个多容器应用程序,用户可以在其中访问静态 html,静态 html 偶尔会从shiny
via获取数据可视化<iframe src="url-to-shiny-application"></iframe>
我不知道如何将 iframe 指向源自 docker-compose 网络的 url。大多数人倾向于将他们的 Shiny 应用程序托管在可通过 Internet 访问的 url 上(即 shinyapps.io),作为一个学习项目,我想找出一种在 nginx 旁边托管容器化闪亮服务器的方法。
期望的结果是能够简单地写入<iframe src="shiny-container/app_x"></iframe>
静态 html,它会app_x
通过 docker 网络在闪亮的服务器上找到。
这是不是可以通过nginx配置来解决的?
解决方案
您是否尝试过:https ://docs.docker.com/compose/networking/ ?
给出的示例 docker-compose 文件:
version: "3"
services:
web:
image: web
ports:
- "8000:8000"
shiny:
image: shiny
ports:
- "3838:3838"
每个容器现在都可以查找主机名web或shiny并取回相应容器的 IP 地址。
并使用<iframe src="http://web:8000"/>
或端口 80,或 8080 或您在 docker 文件中配置的内容。
推荐阅读
- c# - 使用 MIP SDK 如何使用自定义权限进行保护
- sql - GROUP BY 不工作时如何获取汇总总和?
- python - 无法在 docker build 中继续
- javascript - 如何使用 Javascript 允许进入下一页
- algorithm - 如何对两个字符串应用转换以反转字典比较的结果?
- reactjs - 在 App.js 中出现奇怪的错误“')' expected.ts(1005)”
- c# - 如何在asp.net核心的startup.cs文件的配置方法中更改范围服务的属性值
- javascript - Redux Toolkit:状态在 reducer 中显示为 Proxy / undefined
- spring-security - 后端 Spring 安全性中未处理 JWT 令牌
- in-app-purchase - Flurry 和 IAP 冲突