【问题标题】:Run shiny app on shiny server installed in docker container from Windows 10 Pro?在 Windows 10 Pro 的 docker 容器中安装的闪亮服务器上运行闪亮的应用程序?
【发布时间】:2018-09-13 16:08:53
【问题描述】:

我正在使用安装了 Docker 的 Windows 10 Pro。我在我的计算机上$ docker pull rocker/shiny 图像并按照文档https://hub.docker.com/r/rocker/shiny/ 中的描述使用以下命令启动它:

docker run -d -p 80:3838 -v C:\\Users\\<My name>\\Documents\\R\\Rprojects\\ShinyHelloWorld\\:/srv/shiny-server/ -v C:\\Users\\<My name>\\Documents\\R\\Rprojects\\ShinyHelloWorld\\:/var/log/shiny-server/ rocker/shiny

容器创建成功:

docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
f0ee402966b9        rocker/shiny        "/usr/bin/shiny-serv…"   2 minutes ago       Up 2 minutes        0.0.0.0:80->3838/tcp   youthful_banach

我使用 RStudio 创建了 ShinyHelloWorld 应用程序,我挂载到 docker 容器的本地主机上的文件夹基本上包含一个文件 app.R,其中默认的闪亮应用程序由 RStudio 创建。

现在的问题是:我无法使用地址http://localhost:3838/ShinyHelloWorld/ 从浏览器运行此应用程序。

当我使用 URL http://localhost:3838 时,它返回带有单句 Index of / 的网页。所以,有人在听。

我是否正确运行了闪亮的服务器?

我想我在浏览器中使用了错误的 URL 来访问服务器。如何正确操作?

我需要在服务器上安装一些闪亮的应用程序吗?

是否可以使用令牌运行闪亮的服务器,例如: http://localhost:8888/?token=44dab68c1bc7b1662041853573f37cfa03f13d029d397816 如所述,例如在书中为COOK, J.: Docker for Data Science: Building Scalable and Extensible Data Infrastructure Around the Jupyter Notebook Server: Apress., 2017

如果存在token如何找到?

假设我想使用docker-compose.yml,然后是$ docker-compose up。请帮助完成下面的脚本以执行与上面相同的命令。

    version:                "3"
    services:
          image:            rocker/shiny
          volumes:
            - C:\\Users\\aabor\\Documents\\R\\Rprojects\\ShinyHelloWorld:/srv/shiny-server/
            - C:\\Users\\aabor\\Documents\\R\\Rprojects\\ShinyHelloWorld:/var/log/shiny-server/
          ports:
            - 80:3838
          container_name:   rocker-shiny-container

【问题讨论】:

  • Windowsboot2docker 上,您需要访问192.168.59.103:3838 参见usage
  • 我不使用boot2docker,在这种特殊情况下没有必要。

标签: docker shiny shiny-server


【解决方案1】:

查看端口 0.0.0.0:80->3838/tcp - 意味着您的端口 80 将转到容器上的 3838 - 所以您应该先尝试http://localhost

【讨论】:

    【解决方案2】:

    我自己解决了这个问题。问题出在文件夹路径上。

    此命令将正确创建 docker 容器:

    docker run -d -p 3838:3838 -v //c/Users/<My Name>/Documents/R/Rprojects:/srv/shiny-server/ -v //c/Users/<My Name>/Documents/R/Rprojects:/var/log/shiny-server/ rocker/shiny
    

    然后,如果我在浏览器中使用 URL http://localhost:3838/ShinyHelloWorld/,闪亮的应用程序就会启动。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-23
      • 2016-08-01
      • 2014-08-09
      • 2018-09-03
      • 2013-07-08
      • 2016-12-28
      • 2018-04-21
      • 2023-03-24
      相关资源
      最近更新 更多