r - docker 与 Shiny 的服务器专业版问题

标签 r docker centos supervisord shiny-server

我在centos上创建了两个带有 Shiny 服务器的docker:

  • 带有 Shiny 服务器的Docker - 免费版here
  • 带有 shiny server pro 的 Docker(使用临时许可证)here

这些 docker 运行在 centos 上,因为假设最终将作为受支持的 Linux 版本(可能是 dockerized 或 native )在 RHEL 上运行。目前它们提供了一种便捷的测试和开发方式。

它们主要是为开发而设计的:它们包括 RRStudio ServerShiny Server:可能不是 Docker 纯粹主义者会做的事情,或者推荐(可能生产版本将基于 docker compose)。

我遇到的问题是,虽然 Docker with shiny server - 免费版工作正常,Docker with shiny server pro 却无法工作(也许是supervisord的问题?)。

2015-09-19 12:40:10,379 CRIT Supervisor running as root (no user in config file)
2015-09-19 12:40:10,385 INFO supervisord started with pid 1
2015-09-19 12:40:10,387 INFO spawned: 'shinyserver' with pid 8
2015-09-19 12:40:10,388 INFO spawned: 'rserver' with pid 9
2015-09-19 12:40:10,404 INFO success: rserver entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
2015-09-19 12:40:10,405 INFO exited: rserver (exit status 0; expected)
2015-09-19 12:40:10,405 INFO received SIGCLD indicating a child quit
2015-09-19 12:40:10,955 INFO exited: shinyserver (exit status 8; not expected)
2015-09-19 12:40:10,955 INFO received SIGCLD indicating a child quit
2015-09-19 12:40:11,959 INFO spawned: 'shinyserver' with pid 31
2015-09-19 12:40:12,236 INFO exited: shinyserver (exit status 8; not expected)
2015-09-19 12:40:12,236 INFO received SIGCLD indicating a child quit
2015-09-19 12:40:14,243 INFO spawned: 'shinyserver' with pid 37
2015-09-19 12:40:14,520 INFO exited: shinyserver (exit status 8; not expected)
2015-09-19 12:40:14,521 INFO received SIGCLD indicating a child quit
2015-09-19 12:40:17,533 INFO spawned: 'shinyserver' with pid 43
2015-09-19 12:40:17,807 INFO exited: shinyserver (exit status 8; not expected)
2015-09-19 12:40:17,808 INFO received SIGCLD indicating a child quit
2015-09-19 12:40:18,811 INFO gave up: shinyserver entered FATAL state, too many start retries too quickly
2015-09-19 12:40:43,272 CRIT received SIGTERM indicating exit request

这非常令人惊讶,因为代码库是通用的(当然)。也许是关于进程如何生成的问题?

如果有人能帮助我找到 shiny server pro 配置中的错误,那就太好了。

最佳答案

我已经成功解决了这个问题。正如预期的那样,这是 supervisord.conf 的错误配置。

Shiny 服务器需要以 root 身份启动,而我错误地使用了 user=shiny 而不是 user=root。令我惊讶的是,这在免费版本中没有产生错误。

这里为后代提供了使其工作的主管配置:

[supervisord]
nodaemon=true
logfile=/var/log/supervisor/supervisord.log
pidfile = /tmp/supervisord.pid

[program:rserver]
user=root
command=/usr/lib/rstudio-server/bin/rserver
stdout_logfile=/var/log/supervisor/%(program_name)s.log
stderr_logfile=/var/log/supervisor/%(program_name)s.log
startsecs=0
autorestart=false
exitcodes=0

[program:shinyserver]
user=root
startsecs = 0
command=/bin/bash -c "exec shiny-server >> /var/log/shiny-server.log 2>&1"
stdout_logfile=/var/log/supervisor/%(program_name)s.log
stderr_logfile=/var/log/supervisor/%(program_name)s.log
autorestart=false
redirect_stderr=true

dockerfile 等可用 on my github page smartinsightsfromdata

关于r - docker 与 Shiny 的服务器专业版问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32668559/

相关文章:

linux - crontab 没有产生所需的结果

r - 我可以将 "OBJ"网格文件映射到现有 R 包吗?

Docker 容器的内存使用情况

c# - 无法连接到 Docker 中托管的网络核心 gRPC 服务

node.js - 我无法从 docker 容器中的 nodejs 应用程序连接到 cassandra

ruby - `require' : cannot load such file - Running ruby from bash script

vim - 为什么我用putty时vim在行尾显示黄色框?

r - 对于每个 `pop` 获取 `id` 元素的频率

r - 在 Shiny 中同步 Dygraph 和 DateRangeInput

r - Zeppelin R解释器无法执行任何操作