Cannot connect to the Docker daemon at tcp://localhost:2375. Is the docker daemon running?

docker本地默認是unix socket,這裏報錯是使用了tcp,默認狀況下,Unix的socket屬於用戶root,其它用戶要使用要經過sudo命令。因爲這個緣由,docker daemon一般使用root用戶運行,使用了幾種解決方式。docker

一丶未成功的(萬一大家成了呢 #滑稽):

  1. 編輯/etc/docker/daemon.json 無效
{
  "registry-mirrors": ["https://kf0vxqi6.mirror.aliyuncs.com"],
  "hosts": [
        "tcp://0.0.0.0:2376",
        "unix:///var/run/docker.sock"
    ]
}
  1. 添加用戶組 無效
$ sudo groupadd docker
groupadd: group 'docker' already exists
$ sudo gpasswd -a <你的用戶名> docker
$ sudo service docker restart
  1. systemctl restart docker無效

二丶成功的:

  1. 使用sudo + 命令 (每次多寫sudo,還要輸密碼,密碼錯了還要重來 :P )
sudo docker ps
  1. unset DOCKER_HOST (一次性的,不設置DOCKER_HOST)json

  2. 修改 ~/.bashrc文件bash

vi ~/.bashrc
# 在最下面添加一行:
export DOCKER_HOST='unix:///var/run/docker.sock'
source .bashrc