之前刚开始学Docker的时候输入docker login -u 用户名
就行了,但是今天登陆的时候密码怎么输都不对,后来用sudo docker login -u 用户名
就可以登陆成功了。
必须用sudo
才能登录的原因:Docker是以客户端(client)和守护进程(server)来运行的。Docker的守护线程绑定的是unix socket,而不是TCP端口,这个套接字默认属于root,其他用户可以通过sudo去访问这个套接字文件。所以docker服务进程都是以root账户运行。
解决方式:(具体代码可以进行百度)
-
创建docker用户组。
-
把当前用户加入到docker用户组里面。
-
重启服务。
-
更新/刷新用户组。
-
测试一下。只要docker组里的用户都可以直接执行docker命令就说明成功,可以用
docker ps
命令测试一下docker命令是否可以使用。