Ubuntu16.04上Docker免sudo使用的解决方式

2018/04/15

前言

在Ubuntu16.04上安装Docker-ce后,发现docker run不需要在sudo下运行,这就导致了一个问题VScode和PyCharm都连不上Docker,都是因为去访问权限的问题,因为不建议用root权限,所以就要找解决办法。

解决

  1. 修改服务文件

    修改 /lib/systemd/system/docker.service

    sudo vim /lib/systemd/system/docker.service
    

    找到这一行ExecStart=/usr/bin/dockerd fd://,替换为

    ## 大概是开启了docker的tcp访问和unix访问
    ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
    

    接着修改 /etc/init.d/docker

    sudo vim /etc/init.d/docker
    

    找到这一行 DOCKER_OPTS=,做类似的修改

    DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"
    
  2. 添加用户到docker组

    sudo usermod -aG docker $USER
    
  3. 最后重启你的系统

    sudo reboot
    

参考

cannot-connect-to-the-docker-daemon-is-the-docker-daemon-running-on-this-host