[linux] Docker가 docker 데몬에 연결할 수 없습니다.



Answers

OS X에서 Docker를 실행하고 있다면 다음 eval을 실행하는 것이 효과적입니다.

eval "$(docker-machine env default)"

모든 터미널 세션에서이 eval 문을 실행하지 않으려면 bash_profile 다음을 추가 할 수 있습니다.

#Docker
eval "$(docker-machine env default)"

변경 사항을 적용하려면 터미널 세션을 다시 시작하거나 bash_profile 에서 소스를 실행하십시오.

Question

Docker 버전을 0.8.0 업데이트 한 후 sudo docker version 을 입력하는 중에 오류 메시지가 나타납니다.

Client version: 0.8.0
Go version (client): go1.2
Git commit (client): cc3a8c8
2014/02/19 12:54:16 Can't connect to docker daemon. Is 'docker -d' running on this host?

그리고 명령을 따라 sudo docker -d 명령을 입력했습니다.

[/var/lib/docker|2462000b] +job initserver()
[/var/lib/docker|2462000b.initserver()] Creating server
open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory[/var/lib/docker|2462000b] -job initserver() = ERR (1)
2014/02/19 12:55:57 initserver: open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory

문제를 어떻게 해결할 수 있습니까?




/etc/sysconfig 에서 Docker 구성 파일, docker 또는 docker-network 를 변경하십시오.

(... ~ v1.17)

docker 파일 :

OPTIONS= -H fd://

또는 (v1.18) :

docker-network 파일 :

DOCKER_NETWORK_OPTIONS= -H unix:///var/run/docker.sock



이 문제가 발생하여 다음 명령을 사용하여 Docker를 다시 시작했습니다.

$ sudo service docker stop
$ sudo service docker start

하지만 sudo 없이 도커 명령을 실행하는 것을 잊었 기 때문에 문제를 해결하지 못했습니다. 이 문제에 직면 한 사람들은이를 확인하십시오.

시험

$ sudo docker info

대신이 :

$ docker info



문제를 해결하려면 터미널에서 다음 명령을 실행해야합니다. 각 단계에 대해 설명하겠습니다.

# Uninstall Docker from apt packages
$ sudo apt-get remove docker docker.io

# Remove it from the libraries just to be
# sure it's gone forever
$ sudo rm -rf /var/lib/docker/*

이제, 단순화하고 더 많은 시간을 얻으려면 installDocker 매개 변수를 사용하여 init 스크립트 를 실행할 수 있습니다.

# Pull the init script from GitHub
$ wget https://github.com/dminca/dotfiles/blob/master/init

# Add rights to run the script
$ chmod 755 init

# Just run the script with the installDocker parameter
$ ./init installDocker

재부팅은 선택 사항이지만 모두 원활하게 실행되는지 확인하는 것이 좋습니다.




"Docker 데몬에 연결할 수 없습니다.이 호스트에서 실행중인 Docker 데몬입니까?"라는 문제가 있습니다.

나는 sudo 를 사용하는 것을 잊었다. 희망은 우리 중 일부를 도울 것입니다.

$:docker images
Cannot connect to the Docker daemon. Is the docker daemon running on this host?

$:sudo docker images
REPOSITORY   TAG   IMAGE ID   CREATED   SIZE



Docker 도구를 사용하여 OS X에서 실행중인 경우 다음을 수행하십시오.

데몬을 다시 시작하고 환경을 구성하십시오.

docker-machine restart

그리고

docker-machine env

마지막으로,

eval $(docker-machine env)

데몬이 실행 중인지 테스트하려면 다음을 수행하십시오.

docker ps -a 또는 docker-machine ls . 그러면 모든 컨테이너가 나열됩니다.




ps aux | grep docker ps aux | grep docker 를 사용하여 데몬이 실행 중인지 확인합니다. /etc/init.d/docker start 실행하지 않으면




자세한 조사가 끝난 후이 문제는 Mac OS X이 재부팅 된 후 (또는 Docker 가상 컴퓨터가 다시 시작될 때마다) Docker 클라이언트가 Docker 데몬에 연결하지 못하게 할 때마다 발생합니다.

문제를 해결하려면 다음 중 하나를 수행하십시오.

A) 공식 설치 프로그램 ( https://www.docker.com/products/docker-toolbox )을 사용하여 Docker Toolbox를 재설치하거나 간단하게

B) 다음 명령을 순서대로 실행합니다.

# First make sure that the virtual machine is running
docker-machine start default

# Regenerate TLS connection certs, requires confirmation
docker-machine regenerate-certs default

# Finally, set env
eval "$(docker-machine env default)"

C) (B)와 동일하게 다음 행을 복사하여 붙여 넣으면 세 명령을 모두 실행할 수 있습니다.

docker-machine start default; docker-machine regenerate-certs default; eval "$(docker-machine env default)"

다음과 같은 오류가 발생하는 경우

Error getting SSH command: Something went wrong running an SSH command!
command : cat /etc/os-release
err     : exit status 255
output  :

3 개의 명령을 다른 시간에 다시 실행하면 두 번째로 작동합니다.




나는 똑같은 문제가있다 - "도커 데몬에 연결할 수 없다." (단, 서버를 시작하려고 할 때 '파일을 찾을 수 없음'오류가 발생하지 않았습니다.)

'ps'는 "/ usr / bin / docker -d"가 여전히 실행 중임을 나타냅니다.

나는 실제로 서버를 직접 실행하는 데 성공한 적이 없다는 것을 깨달았습니다. 모든 시도가 생겨났다.

...
2014/03/24 21:57:29 pid file found, ensure docker is not running or delete /var/run/docker.pid

그래서 나는 뒤늦게 docker를 설치했을 때 데몬을 upstart에 등록했을 가능성이 있다는 것을 느꼈다. 따라서 수동으로 재시작하기 위해 데몬을 죽이려고하면 작동이 허용되지 않습니다. 그래서 나는

sudo kill -9 <PID>

데몬 프로세스에서. 다른 데몬이 즉시 자리를 잡았고이 새로운 데몬이 이제 내 CLI 클라이언트를 연결합니다.

$ sudo docker info
Containers: 0
Images: 0
Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Dirs: 0
WARNING: No memory limit support
WARNING: No swap limit support



Docker의 DOC 사이트에 따름 : Docker를 루트가 아닌 사용자로 관리

1) 도커 그룹 생성

sudo groupadd docker 

2) 사용자를 도커 그룹에 속하게하여 그룹의 권한을 얻습니다.

sudo usermod -aG docker $USER

DOCKER_HOST 환경 변수가 쉘에 설정되어 있는지 확인하십시오.

env | grep DOCKER_HOST

그것이 존재한다면,

unset DOCKER_HOST

다음이 작동합니다.

docker run hello-world



위의 다른 모든 해결책이 작동하지 않으면 /var/run/docker.sock 의 소유권을 검사 해보십시오.

ls -l /var/run/docker.sock

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

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

그런 다음 Docker 명령을 간편하게 실행 해보십시오. D




Docker Machine을 사용하고 있는지 확인하십시오 :)

docker-machine env default 실행하면 트릭을 수행해야합니다.

문서에 따르면 :

Docker Machine은 가상 호스트에 Docker Engine을 설치하고 docker-machine 명령으로 호스트를 관리 할 수있게 해주는 도구입니다. Machine을 사용하여 로컬 Mac 또는 Windows 상자, 회사 네트워크, 데이터 센터 또는 AWS 또는 Digital Ocean과 같은 클라우드 공급자에 Docker 호스트를 만들 수 있습니다.

docker-machine 명령을 사용하여 관리 대상 호스트를 시작, 검사, 중지 및 재시작하고 Docker 클라이언트 및 데몬을 업그레이드하고 호스트와 통신하도록 Docker 클라이언트를 구성 할 수 있습니다.

실행중인 관리 호스트에서 시스템 CLI를 가리키면 해당 호스트에서 직접 docker 명령을 실행할 수 있습니다. 예를 들어 docker-machine env default 를 실행하여 default 라는 호스트를 가리키고 화면의 지시에 따라 env 설정을 완료하고 docker ps , docker run hello-world 등을 docker run hello-world 합니다.

https://docs.docker.com/machine/overview/




Can't connect to docker daemon. Is 'docker -d' running on this host? 메시지가 표시 Can't connect to docker daemon. Is 'docker -d' running on this host? Can't connect to docker daemon. Is 'docker -d' running on this host? , 당신은 docker version 그것을 확인할 수 있습니다.

Docker Client 와 같은 정보가 표시되면 실행 중입니다. 그러나 Docker Server는 그렇지 않습니다 . Docker 서버를 시작해야합니다.

CentOS에서는 service 를 사용하여 Docker 서버를 시작하거나 중지 할 수 있습니다.

$ sudo service docker stop
$ sudo service docker start

그런 다음 docker version 을 입력하면 Docker Client 및 Docker Server 의 정보가 표시되고 Docker 데몬이 시작됩니다.




Docker CE 앱 사용

맥 OS

MacOS 용 새로운 Docker Community Edition 앱 을 사용하십시오. 예 :

  1. 지금까지 설치 한 모든 Docker Homebrew 패키지를 제거하십시오 :

    brew uninstall docker-compose
    brew uninstall docker-machine
    brew uninstall docker
    
  2. 수동으로 또는 Homebrew-Cask 를 통해 앱 설치 :

    brew cask install docker
    

    참고 :이 응용 프로그램은 docker , docker-compose , docker-machine 등에 필요한 링크를 만듭니다.

  3. 앱을 실행 한 후 상태 메뉴에서 Docker 고래 아이콘을 체크 아웃합니다.

  4. 이제 터미널 에서 docker , docker-compose , docker-machine 명령을 사용할 수 있어야합니다.

관련 항목 :

  • BREW 설치 도커에는 도커 엔진이 포함되어 있지 않습니까?
  • MacOS에서 Docker 데몬에 연결할 수 없습니다.

Linux / Windows

다운로드 페이지에서 Docker CE를 다운로드 하고 지시 사항을 따르십시오.




나는 비슷한 문제가 있었다.

필자의 경우 해결책은 더 이상 사용되지 않는 버전의 docker를 제거하는 것이 었습니다. 이것은 내가 약간의 충돌을 일으키는 것으로 생각합니다.

우분투 :

sudo apt remove docker

나를 위해 문제를 해결했다.




Links



Tags

linux linux   docker docker