我正试图绕过RStudio上的登录页面,因为我们在Docker容器中运行它,并且在我们让用户启动容器之前,我们不需要执行此步骤。
我正在使用RSer的Rocker实现Docker。我们在Centos7上运行。
我对SO很新,所以请告诉我哪些信息对回答这个问题会有所帮助。
答案 0 :(得分:1)
我明白了。
当你启动rserver时,添加标志--auth-none = 1,所以我的Dockerfile中的最终CMD看起来像:
USER rstudio
CMD ["/usr/lib/rstudio-server/bin/rserver","--server-daemonize=0","--auth-none=1"]
我会谨慎,但是我第一次这样做时,我在命令前面用sudo -E
跑了,它作为ROOT登录到了RStudio! (这也是因为我使用/etc/rstudio/rserver.conf
设置更改了auth-minimum-user-id=0
,因为我试图让错误消失(它确实如此:)
在运行命令之前,上面的代码将更改为用户'rstudio',这将直接以rstudio身份登录。
希望帮助那里的人,我知道我花了一天的时间来寻找解决办法!
答案 1 :(得分:0)
要绕过登录页面,您还需要定义环境变量USER
。
需要为
USER=rstudio
设置系统环境变量--auth-none 1
这是Dockerfile
的摘要,允许运行RStudio服务器并以用户rstudio
的身份登录。
ENV USER="rstudio"
CMD ["/usr/lib/rstudio-server/bin/rserver", "--server-daemonize", "0", "--auth-none", "1"]
运行时,不会显示登录页面,我们可以检查服务器和会话是否正在与rstudio
用户一起运行。
# Run the container
docker run --name rstudio --rm -p 8787:8787 -d rstudio
# Check processes
docker exec -it rstudio ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
rstudio+ 1 0.1 0.3 210792 13844 ? Ssl 21:10 0:00 /usr/lib/rstudi
rstudio 49 0.7 2.3 555096 82312 ? Sl 21:10 0:03 /usr/lib/rstudi
root 570 0.0 0.1 45836 3744 pts/0 Rs+ 21:18 0:00 ps aux