Linux 在Ubuntu 14.04上运行没有sudo的docker

Linux 在Ubuntu 14.04上运行没有sudo的docker,linux,ubuntu,docker,Linux,Ubuntu,Docker,我试图设置Docker,以便在使用它之前不必键入sudo 我采取的步骤: 我首先用sudo-groupadd-docker创建了一个docker组 我用sudogpasswd-a${user}docker将当前用户添加到“docker”组 我用sudo服务docker restart重新启动了docker 我关闭并打开终端,开始新的会话 运行docker run hello world后,我收到以下输出: FATA[0000]Post:拨打unix/var/run/docker.sock:权限被

我试图设置Docker,以便在使用它之前不必键入
sudo

我采取的步骤:

  • 我首先用
    sudo-groupadd-docker
    创建了一个docker组
  • 我用
    sudogpasswd-a${user}docker
    将当前用户添加到“docker”组
  • 我用sudo服务docker restart重新启动了docker
  • 我关闭并打开终端,开始新的会话
  • 运行
    docker run hello world
    后,我收到以下输出:

    FATA[0000]Post:拨打unix/var/run/docker.sock:权限被拒绝。您是否正在尝试连接到没有TLS的启用TLS的守护程序

    有一件事让我感到困惑(可能会给我一个提示,为什么我不能在没有sudo的情况下运行docker),那就是:

    $groups
    :是:

    ltarasiewicz adm cdrom sudo dip plugdev lpadmin sambashare

    (无“docker”组)

    $groups ltarasiewicz的输出:

    ltarasiewicz adm cdrom sudo dip plugdev lpadmin sambashare docker

    (“docker”是其中一个组)


    将当前用户添加到“Docker”组后,我仍然无法使用没有你的Docker
    sudo
    ,原因可能是什么?

    组更改不会在当前登录的会话中立即生效。你的选择包括:

  • 注销,然后重新登录
  • 启动新的登录会话(对于bash,使用
    bash-l
    命令)

  • 在末尾运行以下命令以应用组设置:

    newgrp docker
    

    关闭终端或注销是不够的,在我的情况下,我必须完全重新启动。

    实际上,解决方案是从当前会话注销,然后再次登录。我错误地认为,关闭和打开终端将完成应用组更改的工作。运行“id”命令应在组列表中显示“docker”,甚至sudo服务docker restart也不起作用。仅限完全重新启动!完成!谢谢我想知道什么是在重新启动时重新启动的,而在上面描述的所有操作之后没有重新启动?IIRC我也想知道…请注意,在没有sudo的情况下运行Docker是危险的,请确保了解相关的安全风险。看见