docker daemon绑定在Unix socket,而不是TCP端口。默认Unix socket是属于用户root的,其他用户只能通过sudo命令访问,因此docker daemon通常是以root用户身份运行的。
如果希望在使用docker命令时不再使用sudo,则需要创建docker组,并在其中添加用户。
docker组与root用户享有相同的权利。
创建docker组
sudo groupadd docker
将用户添加到docker组
sudo usermod -aG docker $USER
如果在开始运行Docker CLI命令时使用sudo,可能会报错
WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied
此时,或者可以删除~/.docker/
目录,或者是改变它的ownership和permission
$ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
$ sudo chmod g+rwx "/home/$USER/.docker" -R