我正在尝试绕过rstudio上的登录页面,因为我们在docker容器中运行它,并且在让用户启动用户启动容器之前进行了认证。
我正在使用Rstudio的摇杆实现用于Docker。我们在Centos7上运行。
我很陌生,所以请让我知道哪些信息对回答问题有帮助。
我弄清楚了。
启动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!(这也是因为我使用设置auth-minimum-user-id=0
更改了/etc/rstudio/rserver.conf
,因为我试图让错误消失(它确实如此:)
在运行命令之前,上面的代码将更改为用户" rstudio",该命令将您直接登录为rstudio。
希望能帮助某人,我知道我花了一天的时间来找到一个工作!
要绕过登录页面,您还需要定义环境变量USER
。
需要设置系统环境变量
USER=rstudio
,以便--auth-none 1
- https://github.com/rstudio/rstudio/issues/1663
这是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