运行docker Rstudio服务器没有根?
我刚刚开始玩docker。 我做的第一件事就是安装它,然后安装Rstudio-server。 (我正在运行的Ubuntu 14.04)
sudo apt-get install docker.io sudo docker run -d -p 8787:8787 -e USER='some_user_name' -e PASSWORD='super_secret_password' rocker/hadleyverse
是否有可能没有sudo运行docker rstudio服务器? 如果是这样,怎么样?
谢谢!
从这个答案 :
docker手册有这样的说法:
授予非root用户访问权限
docker守护程序始终以root用户身份运行,并且自从Docker版本0.5.2以来,docker守护进程绑定到Unix套接字而不是TCP端口。 默认情况下,Unix套接字由用户root拥有,因此,默认情况下,您可以使用sudo访问它。
从版本0.5.3开始,如果你(或你的Docker安装程序)创build一个名为docker的Unix组并向其添加用户,那么当守护进程启动时,docker守护进程将使docker组读/写的Unix套接字的所有权。 docker守护程序必须始终以root用户身份运行,但是如果您在docker组中以用户身份运行docker客户端,则不需要将sudo添加到所有客户端命令。 从0.9.0开始,可以指定docker以外的组拥有带-G选项的Unix套接字。
警告:docker组(或用-G指定的组)是根等效的; 请参阅Docker守护进程攻击曲面细节 。
例:
-
如果docker组不存在,则添加docker组。
sudo groupadd docker
-
将连接的用户“$ {USER}”添加到泊坞窗组中。 更改用户名称以匹配您的首选用户。
sudo gpasswd -a ${USER} docker
-
重新启动Docker守护进程:
sudo service docker restart
-
如果你在Ubuntu 14.04上使用
docker.io
代替:sudo service docker.io restart
-
如果添加了当前login的用户,则需要注销并重新login。