我正在使用安装了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
答案 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/
,则会启动闪亮的应用程序。