itsource

도커가 도커 데몬에 연결할 수 없음

mycopycode 2023. 8. 15. 11:04
반응형

도커가 도커 데몬에 연결할 수 없음

을 도커로 후 ㅠㅠㅠㅠㅠㅠㅠㅠㅠ0.8.0▁entering를 입력하는 동안 오류 됩니다.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

어떻게 하면 문제를 해결할 수 있을까요?

리눅스

Linux용 설치단계 설명서에는 다음 단계가 나와 있습니다.

  1. 도커 그룹을 만듭니다.
    sudo 그룹 추가 도커
  2. 사용자를 도커 그룹에 추가합니다.
    sudouser 모드 - aG 도커 $(와미)
  3. 로그아웃했다가 다시 로그인하여 올바른 권한으로 도커가 실행되는지 확인합니다.
  4. 도커를 시작합니다.
    sudo 서비스 도커 시작

맥 OS X

Dayel Ostaco는 환경 변수를 추가할 필요가 있다고 말합니다.

docker-machine start # Start virtual machine for docker
docker-machine env  # It's helps to get environment variables
eval "$(docker-machine env default)" # Set environment variables

docker-machine start명령은 프로세스를 안내하는 주석을 출력합니다.

리눅스

CLI에서 Linux에서 도커 데몬을 실행하려면 다음을 실행합니다.

$ sudo service docker start # Ubuntu/Debian

참고: 를 건너뜁니다.$문자를 복사하여 붙여넣을 때 사용합니다.

RedHat/CentOS에서 다음을 실행합니다.sudo systemctl start docker.

기본 파일 시스템을 초기화하려면 다음을 실행합니다.

$ sudo service docker stop
$ sudo rm -rf /var/lib/docker
$ sudo service docker start

또는 수동으로 다음과 같이 입력합니다.

$ sudo docker -d --storage-opt dm.basesize=20G

를 설치합니다.docker-machine리눅스에서

Linux에 시스템 바이너리를 설치하는 방법

  • 로컬:

    install -vm755 <(curl -L https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) $HOME/bin/docker-machine
    
  • 전역:

    sudo bash -c 'install -vm755 <(curl -L https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) /usr/local/bin/docker-machine'
    

macOS

에서는 macOS를 합니다.docker데몬을 하는 데 할 수 . 은 Linux 기능을 수 . 은 도커를 설치해야 . 도커 데몬은 Linux 전용 커널 기능을 사용하기 때문에 OS X에서 도커를 기본적으로 실행할 수 없습니다. 따라서 설치해야 합니다.docker-machineVM을 생성하여 VM에 연결합니다.

를 설치합니다.docker-machinemacOSmacOS에서 사용할 수 .

아직 명령이 없는 경우 다음 방법 중 하나를 사용하여 명령을 설치합니다.

  • Brew 명령 사용:brew install docker-machine docker.
  • GitHub에서 수동으로:

    install -v <(curl https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) /usr/local/bin/docker-machine
    

참조: Mac용 Docker를 시작하십시오.

를 구성합니다.docker-machinemacOSmacOS에서 사용할 수 .

홈브루를 통해 도커 머신을 시작하려면 다음을 실행합니다.

brew services start docker-machine

defaultmachine 없다면 machine (기계)을하세요.docker-machine ls):

docker-machine create --driver virtualbox default

그런 다음 Docker 클라이언트를 위한 환경을 설정합니다.

eval "$(docker-machine env default)"

그런 다음 용기를 나열하여 다시 확인합니다.

docker ps

참조: 도커 시스템로컬 VM을 시작하십시오.


MacOS에 Docker.app 설치

위의 솔루션 대신 다음 방법으로 도커 앱을 설치할 수 있습니다.

brew cask install docker

자세한 내용은 이 게시물을 참조하십시오.참고 항목: MacOS에서 Docker 데몬에 연결할 수 없습니다.

만약 당신이 OS X에서 Docker를 실행하고 있다면, 다음 평가를 실행하는 것이 저에게 효과가 있었습니다.

eval "$(docker-machine env default)"

모든 세션에서 이 이 문을 모든미터서이평문않실행면으이다려있니습수에 수bash_profile:

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

터미널 세션을 다시 시작하거나 소스를 실행해야 합니다.bash_profile변경 사항을 적용할 수 있습니다.

자세한 조사 후 Mac OS X를 재부팅한 후(또는 Docker 가상 시스템을 다시 시작한 후)마다 이 문제가 발생하는 것으로 보이며, 이로 인해 Docker 클라이언트가 Docker 데몬에 연결할 수 없습니다.

이 문제를 해결하려면 다음 중 하나를 수행합니다.

공식 설치 프로그램(https://www.docker.com/products/docker-toolbox), 또는 간단히)을 사용하여 Docker Toolbox를 다시 설치합니다.

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

# 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)"

(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  :

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

이 은이일당없때발을다생니합신에 없을 때 합니다.docker에 할 수 . 당신은 당신 자신을 추가할 수 있습니다.docker그룹 구성:

sudo usermod -aG docker yourusername

또는

sudo usermod -aG docker $(whoami)

그런 다음 로그아웃한 후 서버에 다시 로그인해야 합니다.

또는 다음과 같은 작업을 수행할 수 있습니다.sudo모든 도커 명령.

이 모두하지 않으면 해 볼 수 ./var/run/docker.sock:

ls -l /var/run/docker.sock

소유자가 아닌 경우 다음 명령을 사용하여 소유권을 변경합니다.

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

그런 다음 Docker 명령을 번거롭게 실행해 볼 수 있습니다.D

명령을 사용할 수 있습니다.

sudo service docker stop && sudo service docker start

OR

sudo service docker restart

간단히 다시 시작할 수 있습니다.

도커가 작동하지 않는 이유를 알아내는 가장 좋은 방법은 데몬을 수동으로 실행하는 것입니다.

$ sudo service docker stop
$ ps aux | grep docker  # do this until you don't see /usr/bin/docker -d
$ /usr/bin/docker -d

도커 데몬은 STDOUT에 로그인하므로 무엇을 하든 뱉기 시작합니다.

제 문제는 다음과 같습니다.

[8bf47e42.initserver()] Creating pidfile
2015/01/11 15:20:33 pid file found, ensure docker is not running or delete /var/run/docker.pid

이는 인스턴스가 다른 가상 시스템에서 복제되었기 때문입니다.그냥 pid 파일을 제거해야 했고, 그 후에 모든 것이 작동했습니다.

물론 이 방법이 효과가 있을 거라고 맹목적으로 가정하는 대신, 서비스 백업을 시작하기 전에 데몬을 수동으로 한 번 더 실행하고 로그 출력에서 다른 오류를 확인하는 것이 좋습니다.

를 .ps aux | grep docker데몬이 실행 중인지 확인합니다.실행하지 않을 경우/etc/init.d/docker start

당신이 메시지를 받으면,Can't connect to docker daemon. Is 'docker -d' running on this host?확하실수다니로 하실 수 .docker version.

Docker Client가 실행되고 있지만 Docker Server가 실행되고 있지 않은 경우 Docker 서버를 시작해야 합니다.

할 수 .OS에서 다음을 사용할 수 있습니다.serviceDocker 서버를 시작하거나 중지합니다.

$ sudo service docker stop
$ sudo service docker start

그런 다음 입력 후에docker version도커 클라이언트도커 서버의 정보를 얻을 수 있으며 도커 데몬이 시작되었습니다.

Docker CE 앱 사용

macOS

새로운 MacOS용 Docker Community Edition 앱을 사용합니다.예:

  1. 지금까지 설치한 모든 Docker Homebrew 패키지를 제거합니다.

     brew uninstall docker-compose
     brew uninstall docker-machine
     brew uninstall docker
    
  2. 수동으로 또는 Homebrew-Cask를 통해 을 설치합니다.

     brew install --cask docker
    

이합니다.docker,docker-compose,docker-machine 타기.

  1. 앱을 실행한 후 상태 메뉴에서 도커 고래 아이콘을 확인합니다.
  2. 은 이제사수있다니를 할 수 것입니다.docker,docker-compose,docker-machine명령을 입력합니다.

관련:

리눅스/윈도우즈

다운로드 페이지에서 Docker CE를 다운로드하고 지침을 따릅니다.

저도 비슷한 문제가 있어요.Docker를 설치한 지 얼마 되지 않아 다음 명령어가 환경에 표시되지 않아 로그아웃하고 셸에 다시 로그인해야 했습니다.

export DOCKER_HOST=127.0.0.1:4243 >> ~/.bashrc

Docker를 설치한 후 다시 시작합니다.

$ sudo service docker stop
$ sudo service docker start

그리고 그것은 동작한다.

이 문제에 직면하여 다음 명령을 사용하여 Docker를 다시 시작했습니다.

$ sudo service docker stop
$ sudo service docker start

도커 명령을 을 잊어버려서 . 왜냐하면 저는 도커 명령을 실행하는 것을 잊어버렸기 때문입니다.sudo이 문제에 직면한 사람들을 위해, 그것을 확인해 보세요.

해라

$ sudo docker info

이 대신에:

$ docker info

시도하고 있습니다.docker-machine regenerate-certs또는eval..저한테는 안 통했어요.

이 버전은 OS X 10.11.3(El Capitan) 및 Docker v1.10.1에서 제공됩니다.도커 머신을 삭제하고 다시 만들어야 고칠 수 있었습니다.출처

을 실행하는 docker-machine ls아래의 출력과 유사한 출력을 보여줍니다.

도커

알 수 없는

오류

도커 버전을 쿼리할 수 없음: 도커 엔진 끝점에 연결할 수 없습니다.

다음을 사용하여 도커 기계를 제거해 보십시오.

docker-machine rm -f default

에▁where디default도커 컴퓨터 이름입니다.그러면;

docker-machine create -d virtualbox default

새 도커 컴퓨터를 만듭니다.

다음을 사용하여 모든 것이 정상으로 보이는지 다시 확인합니다(오류 또는 알 수 없는 도커 없음:

docker-machine ls

마지막으로 달리는 것을 잊지 마세요."$(docker-machine env default)"Docker Quickstart Terminal 실행하기에전속을계나...

저는 이 게시물에 이미 많은 답변이 있다는 것을 알고 있었습니다.위에서 언급한 문제를 해결한 간단한 답변을 하나 추가하고 싶습니다.

sudo systemctl start docker

위 명령을 실행하면 모든 도커 관련 스레드/서비스가 시작됩니다.

2020년 4월 MacOS Catalina에서 데스크톱 애플리케이션을 열기만 하면 됩니다.

docker app running

다음 명령을 실행합니다.

docker context use default

를 현재사에추보십에 해 보세요.docker선택사항:

sudo usermod -aG docker $USER

그런 다음 로그아웃하고 로그인합니다.

"도커 데몬에 연결할 수 없습니다."와 같은 문제가 있었습니다. (서버를 시작할 때 'file not found' 오류가 발생하지 않았다는 점만 제외하면)

'ps'는 "/usr/bin/computer-d"가 여전히 실행 중임을 나타냄

하지만 저는 제가 실제로 서버를 실행하는 데 성공한 적이 없다는 것을 깨달았습니다.모든 시도가 만들어낸

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

그래서 나는 도커를 설치하는 것이 나를 위해 그것을 시작한 데몬을 업스타트에 등록했을지도 모른다는 것을 뒤늦게 깨달았습니다.따라서 수동으로 다시 시작하기 위해 데몬을 죽이려 하면 실패합니다(작업이 허용되지 않음).그래서 저는.

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

도커의 DOC 사이트 다음:Docker를 루트가 아닌 사용자로 관리

도커 그룹 만들기

sudo groupadd docker 

그룹의 권한을 얻으려면 사용자를 도커 그룹에 속하도록 합니다.

sudo usermod -aG docker $USER

셸에 DOKER_HOST 환경 변수가 설정되어 있는지 확인합니다.

env | grep DOCKER_HOST

만약 존재한다면,

unset DOCKER_HOST

그러면 다음과 같이 작동합니다.

docker run hello-world

방금 아마존 AWS에서 실행 인 동일한 문제가 있었습니다.

제가 시도한 것은 다음과 같습니다.

  • docker-machine하는 AWS 로 사용하는 AWS 인스턴스입니다.
  • 사용된 일반 설정
  • 연결이 되었는데 원격 포트가 닫혀 있어서 실패했습니다.
  • 그 후 도커 데몬은 시작을 거부했지만 실행 중입니다.dockerd효과가 있었습니다...

원격 시스템에서 다음과 같이 테스트되었습니다.

service docker start # Also restart, no success
systemctl start docker # Also restart, no success
dockerd # Success

제거했습니다./var/lib/docker모두 제거했지만 다시 설치한 후 성공하지 못했습니다.유감스럽게도 장애로부터 저장된 로그가 없습니다.docker.service그냥 시작하기를 거부했습니다.

하지만, 마침내 제 문제를 해결한 것은 기본적으로 다음과 같습니다.

sudo usermod -aG docker $(whoami)

리눅스

당신은 이 답변 https://stackoverflow.com/a/33596140/13997503 을 사용할 수 있으며, 이것을 사용한 후에도 여전히 동일한 오류가 발생합니다.그러면 이전에 도커 데스크톱을 설치하고 이제 도커 엔진으로 전환했을 수 있습니다.

이 명령을 사용하여 도커 데스크톱 서비스 파일을 제거할 수 있습니다.

$ rm -rf ~/.docker

저도 같은 문제가 생겼어요.CentOS 6.5에서:

ps aux |grep `cat /var/run/docker.pid`

도커 데몬 프로세스가 존재하지 않는 것으로 나타나면 다음과 같이 입력합니다.

docker -d

그런 다음 +를 눌러 도커를 중지합니다.우리는 그것을 사용하기 때문에-dDocker는 데몬으로 실행됩니다.이제 할 수 있습니다.

service docker start

그럼 저는 할 수 있어요.docker pull centos이상입니다.

참고: 작동하지 않는 경우 시도할 수 있습니다.yum update그리고 나서 이것들을 다시 반복합니다, 왜냐하면 저는.yum install이들보다 먼저

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

데몬을 다시 시작하고 환경을 구성합니다.

docker-machine restart

그리고 나서.

docker-machine env

마침내.

eval $(docker-machine env)

데몬이 실행 중인지 테스트하는 방법:

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

도커 서비스가 실행되고 있지 않을 수 있습니다.

RedHat/Fedora/CentOS를 사용하는 경우 다음을 시도해 보십시오.

sudo systemctl start docker

Ubuntu/Debian에 있는 경우:

sudo service start docker

도커가 호스트와 해당 포트에서 실행되기 시작합니다.

이 문제를 해결하려면 도커 서비스를 활성화해야 했습니다.

sudo systemctl enable /usr/lib/systemd/system/docker.service

도커 머신을 사용하고 있는지 확인합니다 :)

려달을 합니다.docker-machine env default그 묘기를 부려야 합니다.

문서에 따르면 다음과 같습니다.

하고 Docker Machine을 사용하여 할 수 입니다.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등등.

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

  1. 저도 같은 문제가 있었습니다.도커-데몬 및 도커-클라이언트에 할당된 소켓에 문제가 있었습니다.
  2. 첫째, 도커의 도커-클라이언트에 대한 권한이 설정되지 않았습니다.양말 "sudouser mod -aG 도커 $USER"를 사용하여 설정할 수 있습니다.
  3. 그런 다음 도커-클라이언트가 실행 중인 bash 파일을 확인합니다. 저는 도커-대몬이 유닉스 소켓에서 실행되는 동안 0.0.0:2375에 있었습니다.(dockerd의 구성 파일에 설정되었습니다.)
  4. 바쉬라인에 댓글만 달면 잘 될 겁니다.
  5. 그러나 unix 소켓 대신 TCP 포트에서 작동하도록 하려면 dockerd의 구성 파일을 변경하여 0.0.0.2375로 설정하고 bash에 줄이 있으면 그대로 유지하거나 0.0.0:2375로 설정합니다.

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

# 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:

# 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

재부팅은 선택 사항이지만 모든 작업이 원활하게 실행되도록 하는 것이 좋습니다.

언급URL : https://stackoverflow.com/questions/21871479/docker-cant-connect-to-docker-daemon

반응형