在Windows 10 Pro中安装在docker容器中的闪亮服务器上运行闪亮的应用程序?

时间:2018-04-04 07:30:52

标签: docker shiny shiny-server

我正在使用安装了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/从我的浏览器运行此应用程序。

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

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

我想我在浏览器中使用了错误的URL来访问服务器。如何正确地做到这一点?

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

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

的书中

如果它存在,如何找到它?

假设我想使用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

2 个答案:

答案 0 :(得分:1)

查看端口0.0.0.0:80->3838/tcp - 表示您的端口80将转到容器上的3838 - 因此您应首先尝试http://localhost

答案 1 :(得分:0)

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

此命令将正确创建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/,则会启动闪亮的应用程序。