[linux] Docker 명령이 Docker 데몬에 연결할 수 없습니다

Docker로 옮기고 싶었으므로 방금 엉망이되었습니다. VirtualBox Ubuntu 15.10 (Wily Werewolf) 설치에 Docker를 설치했으며 여기 에서 제안한 것처럼 기본 nginx Docker 이미지를 실행하려고 시도했습니다 .

$ docker run --name mynginx1 -P -d nginx
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

그래서 Docker가 실행 중인지 확인했습니다.

$ sudo service docker status
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since vr 2015-11-06 08:41:48 CET; 15min ago
     Docs: https://docs.docker.com
 Main PID: 7542 (docker)
   CGroup: /system.slice/docker.service
           └─7542 /usr/bin/docker daemon -H fd://

nov 06 08:41:47 kramer65-VirtualBox systemd[1]: Starting Docker Application Container Engine...
nov 06 08:41:47 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:47.900410966+01:00" level=info msg="API ...ock"
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.033514149+01:00" level=info msg="Fire...lse"
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.141594321+01:00" level=info msg="Defa...ess"
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.416294436+01:00" level=warning msg="Y...it."
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.565507576+01:00" level=info msg="Load...rt."
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.567907022+01:00" level=info msg="Load...ne."
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.567945214+01:00" level=info msg="Daem...ion"
nov 06 08:41:48 kramer65-VirtualBox docker[7542]: time="2015-11-06T08:41:48.567969891+01:00" level=info msg="Dock....9.0
nov 06 08:41:48 kramer65-VirtualBox systemd[1]: Started Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.

이것은 Docker 데몬이 실제로 이미 실행 중이지만 Docker 데몬을 수동으로 시작했는지 확인합니다.

$ sudo docker daemon
INFO[0000] API listen on /var/run/docker.sock
INFO[0000] [graphdriver] using prior storage driver "aufs"
INFO[0000] Firewalld running: false
INFO[0000] Default bridge (docker0) is assigned with an IP address XXX.XX.X.X/XX. Daemon option --bip can be used to set a preferred IP address
WARN[0000] Your kernel does not support swap memory limit.
INFO[0000] Loading containers: start.

INFO[0000] Loading containers: done.
INFO[0000] Daemon has completed initialization
INFO[0000] Docker daemon                                 commit=76d6bc9 execdriver=native-0.2 graphdriver=aufs version=1.9.0

그런 다음 이미지를 다시 실행했지만 동일한 결과를 얻었습니다.

$ docker run --name mynginx1 -P -d nginx
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

나는 명령을 sudo’ing했지만 아무 소용이 없었다. 내가 여기서 뭘 잘못하고 있니?



답변

다음과 같이 현재 사용자를 docker 그룹에 추가해야합니다.

sudo usermod -aG docker $(whoami)

그런 다음 시스템에 로그 아웃하고 다시 로그인 하거나 시스템을 다시 시작하십시오. 에 의해 테스트docker version

docker-engine을 설치하는 방법에 대한 자세한 내용은 docker documentation을 따르십시오.


답변

docker 그룹에 사용자 추가

  • 도커 그룹이 없으면 추가하십시오.

    sudo groupadd docker

  • 연결된 사용자 “$ {USER}”를 도커 그룹에 추가하십시오.

    sudo gpasswd -a ${USER} docker

  • Docker 데몬을 다시 시작하십시오.

    sudo service docker restart

  • newgrp docker그룹 변경 사항을 활성화하려면 a 또는 로그 아웃 / 로그인을 수행하십시오 .


답변

일반적으로 다음 명령은 트릭을 수행합니다.

sudo service docker restart

docker startDocker가 이미 실행중인 것처럼 보이는 대신에 .

제안 된 다른 답변 과이 GitHub 문제 에서 작동하면 docker 그룹에 자신을 추가하지 않은 경우 다음을 실행하여 수행하십시오.

sudo usermod -aG docker <your-username>

그리고 당신은 가장 잘 갈 것입니다.


다른 사람이 이것에 부딪 치면 일부 OS의도 커가 설치 직후 시작되지 않아 결과적으로 동일하게 can't connect to daemon message나타납니다. 이 경우 먼저 다음을 실행하여 docker 서비스의 상태를 확인하여 Docker가 실제로 실행되고 있지 않은지 확인할 수 있습니다.

sudo service docker status

출력이 같이 보입니다 경우 docker stop/waiting대신 docker start/running, process 15378그것은 분명히 부두 노동자가 활성화되지 않은 것을 의미한다. 이 경우 다음으로 시작하십시오.

sudo service docker start

그리고 이전과 마찬가지로, 당신은 가장 잘 갈 것입니다.


답변

자기 자신에 대한 참고 사항 : docker명령 을 실행하는 것을 잊었을 때 질문 제목에서 오류가 발생합니다 sudo.

sudo docker run ...

[우분투 15.10]


답변

같은 문제가 있었고 나를 위해 일한 것은 :
/var/run/docker.sock의 소유권 확인

ls -l /var/run/docker.sock

소유자가 아닌 경우 다음 명령으로 소유권을 변경하십시오.

sudo chown *your-username* /var/run/docker.sock

그런 다음 Docker 명령을 번거롭지 않게 실행할 수 있습니다.


답변

모든 것을 설치하고 서비스를 시작한 후 터미널을 닫았다가 다시 연 다음 이미지를 가져옵니다.

편집하다

위의 솔루션 작동하지 않으면 이 문제가 다시 발생 했습니다. 이 솔루션 을 사용해보십시오.

sudo mv /var/lib/docker/network/files/ /tmp/dn-bak

고려 사항

위의 명령이 작동하면 네트워크 도커 문제가 발생했을 가능성이 있습니다.

tail -5f /var/log/upstart/docker.log

출력에 이와 비슷한 것이 있다면

FATA[0000] Error starting daemon: Error initializing network controller: could not delete the default bridge network: network bridge has active endpoints
/var/run/docker.sock is up

당신은 정말로 네트워크 문제가 있지만, 다음에 다시 시작할 때 ( update , 2 개월 아무런 문제가 없음) OS 가이 문제를 다시 겪고 버그 또는 설치 문제 인지 여부는 아직 알지 못합니다.

내 도커 버전

Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:12:04 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:12:04 UTC 2015
 OS/Arch:      linux/amd64


답변

Ubuntu에 docker를 설치 한 후 다음 명령을 실행했습니다.

sudo service docker start

사용해 보셨습니까?