没有root运行docker Rstudio服务器?

时间:2014-12-03 13:29:29

标签: docker

我刚刚开始玩docker。我做的第一件事是安装它,然后安装Rstudio服务器。 (我正在运行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服务器?如果是这样,怎么样?

谢谢!

1 个答案:

答案 0 :(得分:2)

来自this answer

docker manual可以这样说:

  

提供非root权限

     

docker守护程序始终以root用户身份运行,自Docker版本0.5.2起,docker守护程序绑定到Unix套接字而不是TCP端口。默认情况下,Unix套接字由root用户拥有,因此,默认情况下,您可以使用sudo访问它。

     

从版本0.5.3开始,如果您(或您的Docker安装程序)创建一个名为docker的Unix组并向其添加用户,则docker守护程序将使docker组的Unix套接字的所有权可读/写。守护进程开始。 docker守护程序必须始终以root用户身份运行,但如果您以docker组中的用户身份运行docker客户端,则无需向所有客户端命令添加sudo。从0.9.0开始,您可以指定除docker之外的组应该拥有带-G选项的Unix套接字。

     

警告:docker组(或使用-G指定的组)是root等效的;见Docker Daemon Attack Surface details

     

示例:

  • 添加泊坞组(如果尚不存在)。

    sudo groupadd docker
    
  • 将已连接的用户“$ {USER}”添加到泊坞窗组。更改用户名以匹配您的首选用户。

    sudo gpasswd -a ${USER} docker
    
  • 重启Docker守护程序:

    sudo service docker restart
    
  • 如果您使用的是Ubuntu 14.04,请改用docker.io

    sudo service docker.io restart
    
  • 如果您添加了当前登录的用户,则需要注销并重新登录。