如何通过Docker运行并访问多个RStudio Server实例?
问题:无法同时启动多个RStudio Server容器实例并访问
基于rocker团队的tidyverse Docker镜像构建了一个内置多种工具的容器镜像,用于多人协作。两人先后启动该镜像后,人员1可正常访问RStudio界面,但人员2无法访问自己的容器实例。
两人使用的启动命令
- 人员1(先启动容器):
docker run -d --rm -p 8787:8787 -e PASSWORD=password -v $(pwd):/home/rstudio/mount_dir -e USERID=$(id -u) -e GROUPID=$(id -g) image:latest
- 人员2(后启动容器):
docker run -d --rm -p 8788:8787 -e PASSWORD=password -v $(pwd):/home/rstudio/mount_dir -e USERID=$(id -u) -e GROUPID=$(id -g) image:latest
人员1可通过domain_name:8787正常访问RStudio界面,但人员2访问domain_name:8788时无法打开内容。
镜像基础信息
该容器基于rocker/tidyverse:latest镜像构建,Dockerfile起始内容为:
FROM rocker/tidyverse:latest
已执行的排查与尝试
检查端口映射情况
通过docker ps -a命令查看端口映射状态,输出如下:
IMAGE COMMAND CREATED STATUS PORTS NAMES image:v1.0 "/init" 32 seconds ago Up 30 seconds 1794/tcp, 8080/tcp, 8888/tcp, 0.0.0.0:8788->8787/tcp, :::8788->8787/tcp jolly_ellis image:v1.0 "/init" 2 hours ago Up 2 hours 1794/tcp, 0.0.0.0:8787->8787/tcp, :::8787->8787/tcp intelligent_sutherland
端口映射看起来已正常配置。
尝试不同端口映射方式
Dockerfile中暴露了多个端口,尝试过多种映射组合,但对人员2均无效:
- 人员1的映射:
-p 8787:8787
- 人员2尝试的映射:
# 尝试不同主机端口映射到容器8787端口 -p 8788:8787
# 尝试不同主机端口映射到容器其他已暴露端口 -p 8788:8888
尝试浏览器隐私窗口
使用隐私窗口(隔离cookie)访问,问题仍未解决。
提问
请问如何解决该问题,让用户可同时启动并使用多个RStudio Server容器实例?
内容的提问来源于stack exchange,提问作者AcrKnight
相关产品推荐
相关产品推荐

