[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 start
Docker가 이미 실행중인 것처럼 보이는 대신에 .
제안 된 다른 답변 과이 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
사용해 보셨습니까?