【发布时间】:2019-03-24 12:01:07
【问题描述】:
我正在尝试让 Shiny 应用程序在 Digital Ocean 液滴上作为 Web 服务器运行,使用的是 rocker 的 docker 图像。一切似乎都运行良好,但不知何故我无法通过浏览器访问该页面。
Docker 似乎正确地暴露在 droplet 上的 80 端口:
我启动容器的命令是:
docker run -d -p 80:80 --name ggplotgui jelkink/fpr
我的 Dockerfile 如下所示:
FROM rocker/shiny:latest
COPY . /srv/shiny-server/docker
RUN sudo apt-get install -y libssl-dev xdg-utils
RUN sudo R -e "install.packages(c('shiny', 'dplyr', 'plotly',
'rmarkdown', 'ggplot2', 'readxl', 'haven', 'rio', 'stringr', 'readr',
'devtools'))"
RUN chmod +x /srv/shiny-server/docker/continuous_shiny_run.sh
EXPOSE 80
CMD /srv/shiny-server/docker/continuous_shiny_run.sh
虽然,老实说,我也没有设法让它在我的本地 Docker 安装下工作,所以它可能与 DigitalOcean 无关。
在 DigitalOcean 上运行 nginx hello world 示例 - 相同的水滴,不同的 docker 映像 - 工作正常,包括使用端口 80。
我的 Shiny 代码明确请求端口 80:
shinyApp(ui, server, options = list(port = 80))
【问题讨论】:
-
您看到的错误是什么? “curl yourserver.com”的输出是什么?
-
连接被拒绝:无法连接到 142.93.182.11 端口 80:连接被拒绝
标签: docker shiny digital-ocean