在没有Shiny服务器的Docker中运行Shinyapp

我正在尝试在Docker中运行Shiny应用程序,我看到了两种实现方法:

1)在Docker中运行Shiny服务器,然后在此服务器上运行Shiny app。它可以工作,但我仍在努力使用户目录从Shiny应用程序可见(使用-v参数进行简单安装无济于事)。

2)使用命令直接在Docker上运行Shiny R -e "shiny::runApp('/srv/shiny-server/')"在这种情况下,它几乎可以正常工作,但是出现了这个错误:

shiny::runApp('/srv/shiny-server/', launch.browser = T)
Loading required package: shiny
Listening on http://127.0.0.1:4637
/usr/bin/xdg-open: 844: /usr/bin/xdg-open: www-browser: not found
/usr/bin/xdg-open: 844: /usr/bin/xdg-open: links2: not found
/usr/bin/xdg-open: 844: /usr/bin/xdg-open: elinks: not found
/usr/bin/xdg-open: 844: /usr/bin/xdg-open: links: not found
/usr/bin/xdg-open: 844: /usr/bin/xdg-open: lynx: not found
/usr/bin/xdg-open: 844: /usr/bin/xdg-open: w3m: not found
xdg-open: no method available for opening 'http://127.0.0.1:4637'

我试图安装浏览器(添加apt-get install -y firefox到我的Dockerfile中),但仍然无法正常工作。

我找不到有关如何在没有Shiny Server的Docker上运行Shiny应用程序的任何教程/示例。因此,我将不胜感激!

拉尔夫·斯塔伯纳

在您的第二种方法中,R进程尝试docker容器中打开浏览器因为它认为它是交互式使用的。一种简单的更改方法是使用Rscript -e ...代替R -e ...或者,您可以将launch.browser参数设置FALSE

此外,您应该将闪亮的应用程序绑定到任何IP地址上的固定端口,并在启动Docker容器时将该端口发布到主机。您可以使用参数port = 3838和来实现host = "0.0.0.0"

除了通过参数指定这些内容外,还可以通过添加以下内容使用R的选项机制

options(shiny.port = 3838, shiny.host = "0.0.0.0", shiny.launch.browser = FALSE) 

Rprofile.site

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ModuleNotFoundError:在虚拟环境中运行服务器时,没有名为“ django”的模块

为什么我的服务器(在线程中运行)没有收到DatagramPackage?

Symfony服务器:在php Docker容器中运行

在Docker中运行RabbitMQ服务器

我运行了启动tomcat8服务器的docker镜像,但是没有启动

PG :: UnableToSend:在Rails中没有与服务器的连接

在带有预配置服务器的docker中运行pgadmin4

即使没有服务器在运行,Wildfly实例也始终在端口8080上运行

服务器运行时,为什么PHP文件没有包含在文件中?

在没有Web服务器的情况下在Docker中运行Python脚本?

在Docker容器中运行的Python UDP服务器

有没有办法使用无服务器CLI进行空运行?

如何在带有docker-compose服务器的Docker中运行MySQL命令终端

php服务器似乎没有执行代码,尽管服务器正在运行

在没有root的情况下运行docker Rstudio服务器?

eclipse上没有“在服务器上运行”选项可在Tomcat上运行项目

Rails服务器作为守护程序运行时,Rufus Scheduler没有运行

如何连接到在Docker容器中运行的服务器?

openfire服务器在亚马逊云服务器中没有身份验证?

nginx位置在没有root的情况下无法运行,尽管root在服务器中

在ubuntu服务器上运行的docker容器上没有互联网连接

为什么heroku不能在没有HTTP服务器的情况下运行WebSocket服务器?

从服务器获取的数据没有在 ReactJS 中显示

连接到在 windows docker 容器中运行的服务器

在 AWS EC2 上运行 Flask 服务器,只有 gunicorn 但没有 nginx

有没有办法使用 aws cloudwatch 为服务器中运行的进程创建或跟踪指标?

为什么 Shiny 没有在服务器会话中调用本地函数?

在 Docker 容器中从 Jenkins 管道运行 Django 服务器

在 docker 容器中运行 django 开发服务器