docker
本地默認是unix socket
,這裏報錯是使用了tcp
,默認狀況下,Unix的socket屬於用戶root
,其它用戶要使用要經過sudo
命令。因爲這個緣由,docker daemon
一般使用root
用戶運行,使用了幾種解決方式。docker
/etc/docker/daemon.json
無效{ "registry-mirrors": ["https://kf0vxqi6.mirror.aliyuncs.com"], "hosts": [ "tcp://0.0.0.0:2376", "unix:///var/run/docker.sock" ] }
$ sudo groupadd docker groupadd: group 'docker' already exists $ sudo gpasswd -a <你的用戶名> docker $ sudo service docker restart
systemctl restart docker
無效sudo + 命令
(每次多寫sudo,還要輸密碼,密碼錯了還要重來 :P )sudo docker ps
unset DOCKER_HOST
(一次性的,不設置DOCKER_HOST)json
修改 ~/.bashrc
文件bash
vi ~/.bashrc # 在最下面添加一行: export DOCKER_HOST='unix:///var/run/docker.sock' source .bashrc