도 커가 도커 데몬에 연결할 수 없습니다


473

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?

그리고 지시 사항을 따르고 command 입력했으며 다음 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

문제를 어떻게 해결합니까?


7
docker -d를 실행할 때 sudo를 사용 했습니까?
벤 Whaley

나는 오류에서이라고 말합니다 no such file or directory[/var/lib/docker|2462000b]. /var/lib/docker시스템에 존재 합니까 ? 그렇지 않으면 Docker를 다시 설치해야한다고 생각합니다.
Ben Whaley

3
데몬을 시작할 때 'file not found'메시지가 표시되지 않는 것을 제외하고는 동일한 문제가 있습니다 ( 'ps'가 표시되는 데몬에 연결할 수 없음). / var / lib / docker가 존재합니다.
Jonathan Hartley

VPS에서 도커를 사용하고 있습니까?
pigletfly

여기에서 docker desktop을 설치하면 해결됩니다. docs.docker.com/docker-for-mac/install
Guy Assaf

답변:


642

리눅스

리눅스에 대한 사후 설치 단계 설명서는 다음 단계를 보여준다 :

  1. 도커 그룹을 만듭니다 .
    sudo groupadd 도커
  2. docker 그룹에 사용자를 추가하십시오 .
    sudo usermod -aG docker $ (whoami)
  3. 도 커가 올바른 권한으로 실행되도록 로그 아웃했다가 다시 로그인하십시오.
  4. 도커를 시작하십시오.
    sudo 서비스 도커 시작

맥 OS X

Dayel Ostraco가 말한 것처럼 환경 변수를 추가하려면 다음이 필요합니다.

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명령은 프로세스를 안내하는 주석을 출력합니다.


예. 이것은 나에게 문제였다. 도커 그룹에 사용자를 추가했으며 이제 데몬에 연결할 수 있습니다. 감사합니다
보그

FWIW, 특정 섹션에 대한 링크는 다음과 같습니다
비대칭

20
어떤 이유로 든 로그 아웃하지 않으려면 newgrpcommand를 사용 하여이 새 그룹에서 새 쉘을 시작할 수 있습니다 . 이와 같이 : newgrp docker.
Denilson Sá Maia

sudo chown $ USER : $ USER / path / to / docker / binary
Ivor Scott

bash를 다시 시작할 시간이 없었습니다. 그래서 alias docker='sudo docker'트릭을했다. : p
LovaBill

149

리눅스

CLI 에서 Linux에서 docker 데몬을 실행하려면 다음을 실행하십시오.

$ 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-machineLinux에 설치

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'
    

맥 OS

macOS에서 docker바이너리는 클라이언트 일 뿐이며 Docker 데몬은 Linux 관련 커널 기능을 사용하므로 Docker 데몬을 실행하는 데 사용할 수 없으므로 OS X에서 Docker를 기본적으로 실행할 수 없습니다. 따라서 설치해야합니다.docker-machine 생성 VM을 연결하십시오.

docker-machinemacOS에 설치

docker-machine아직 명령 이 없으면 다음 방법 중 하나를 사용하여 설치하십시오.

  • 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
    

Docker for Mac 시작하기를 참조하십시오 .

구성 docker-machinemacOS에서

Homebrew를 통해 Docker Machine 을 시작하려면 다음을 실행하십시오.

brew services start docker-machine

default컴퓨터 를 만들려면 (없는 경우)를 참조하십시오 docker-machine ls.

docker-machine create --driver virtualbox default

그런 다음 Docker 클라이언트의 환경을 설정하십시오.

eval "$(docker-machine env default)"

그런 다음 컨테이너를 나열하여 다시 확인하십시오.

docker ps

Docker Machine 및 로컬 VM 시작하기를 참조하십시오 .


macOS에 Docker.app 설치

위의 솔루션 대신 다음과 같이 Docker 앱을 설치할 수 있습니다.

brew cask install docker

자세한 내용은게시물을 확인 하십시오 . 참고 항목 : macOS에서 Docker 데몬에 연결할 수 없음


1
sudo는 서비스 고정 표시기는 우분투 14.04 도커 1.9.1에서 작동을 시작

감사. 이것이 우분투 14.04에서 나를 위해 일한 것입니다. 다른 모든 것은 실패했습니다.
nyxee

이것은 내가 설치 한 2010 년 이전의 하드웨어와 맥 OSX에 나를 위해 일한 유일한 일 docker-toolbox에서 docs.docker.com/toolbox/toolbox_install_mac
비 크람

2
Homebrew를 통해 docker-compose, docker-machine 및 docker를 설치해야했는데 제대로 작동했습니다!
Entalpi

Docker 18이있는 CentOS 7.6 에서이 문제가 있었고 sudo rm -rf /var/lib/docker다시 시작하면 트릭이 발생했습니다. 나는 정말로 붙어 있었고 다른 해결책이 나를 위해 일하지 않았다.
Ashkan

142

OS X에서 Docker를 실행하는 경우 다음 eval을 실행하면 효과가 있습니다.

eval "$(docker-machine env default)"

모든 터미널 세션에서이 평가 문을 실행하지 않으려면 다음을 추가하십시오 bash_profile.

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

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


3
여기서도 혼자 시도 Error checking TLS connection: Host is not running하면 명령 docker-machine start default이 트릭을 수행 한 후이 평가를 실행하는 경우가 종종 있습니다.
Emilio Ferrucci 17 년

100

자세한 조사 후,이 문제는 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  :

세 번만 다시 실행하면 두 번째로 작동합니다.


6
호스트가 존재하지 않습니다. "default"
Roman Gaufman

@RomanGaufman :이 작업은 당신을 위해 작동합니까 : docker-machine은 기본값을 시작합니까?
KAD

1
@RomanGaufman 명령을 성공적으로 실행하기 전에 터미널을 다시 시작해야했습니다.
anon58192932

Mac을 재부팅 할 때마다 가상 상자 vm의 IP가 변경되기 때문입니까?
Cui Pengfei 崔鹏飞

@ RomanGaufman의 오류는 아래 (현재) 대답에 의해 해결된다 : stackoverflow.com/a/34887761/634576
데이브 Schweisguth에게

47

일반적으로 docker그룹에 속하지 않을 때 발생합니다 . 다음을 사용하여 docker그룹 에 자신을 추가 할 수 있습니다 .

sudo usermod -aG docker yourusername

또는

sudo usermod -aG docker $(whoami)

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

또는 sudo모든 Docker 명령 을 사용할 수 있습니다 .


5
그룹이 존재하지 않는 경우 : sudo groupadd docker
izy

30

위의 다른 모든 솔루션이 작동하지 않으면 다음의 소유권을 확인하십시오 /var/run/docker.sock.

ls -l /var/run/docker.sock

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

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

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


1
나는이 대답으로 시작했고 이것은 나를 도왔다!
Andrzej Martyna

2
이 접근법의 문제점은 데몬이 재시작 될 때마다이 단계를 반복해야한다는 것입니다.
MFIhsan

안녕하세요 @MFIhsan 스마트 sys-admin은 단순히 해당 명령의 bash 스크립트를 만들고 crontab에 추가하여 재부팅 / 시작시 실행되도록 명령합니다.> stackoverflow.com/a/29247942/3469960
kevthanewversi

일반 사용자는 양말을 소유해서는 안됩니다! 양말을 소유하지 않은 경우 바퀴 그룹과 양말 그룹에 속해 있는지 확인하십시오. 양말 소유자 그룹이 아닙니다!
CrazyMerlin

16

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

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

Docker 데몬은 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

인스턴스가 다른 가상 머신에서 복제 되었기 때문입니다. 방금 pidfile을 제거해야했고 모든 것이 나중에 작동했습니다.

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


1
그것은 또한 문제를 찾는 데 도움이되었습니다 (불행히도 답변을 보았습니다). 내 apparmor패키지 가 누락 되었습니다.
Pierre de LESPINAY

이 솔루션은 저에게 효과적이었습니다. /var/run/docker.pid를 삭제 한 후 마침내 도커를 시작할 수있었습니다.
jirikadlec2

3
경고 : '-d'는 더 이상 사용되지 않으며 곧 제거됩니다. 사용법을 참조하십시오. WARN [0000] 대신 'docker daemon'을 사용하십시오.
juanmf

3
제공되었지만 정의되지 않은 플래그 : -d
Luís de Sousa

디버그 활성화를 사용하여 최신 버전으로 수동으로 고정 표시기 데몬을 실행하려면 :dockerd -D
루이스 미겔 세라노의

14

메시지를 받으면 다음을 통해 Can't connect to docker daemon. Is 'docker -d' running on this host?확인할 수 있습니다 docker version.

Docker Client 와 같은 정보가 표시되면 그러나 Docker Server가 아닌 경우 Docker 서버를 시작해야합니다.

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

$ sudo service docker stop
$ sudo service docker start

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


2
sudo service docker start우분투 14.04에서도 나를 위해 일했습니다.
funroll

Cent OS 7은 도커를 시작할 때마다해야합니다.
Paddy

@Paddy 서비스를 지정한 후 서비스를 활성화해야하며 시스템이 시작되고 백그라운드에서 계속 실행중인 경우 서비스가 실행됩니다.
CrazyMerlin

"systemctl start docker를 sudo해야합니다"라는 모든 대답은 항상 docker 서비스를 시작한다고 가정합니다. docker 설치에 문제가있는 경우 서비스 구성 파일이 없을 수도 있습니다.이 경우 "Unit docker.service not loaded"
CrazyMerlin

12

를 수행 ps aux | grep docker데몬이 실행되고 있는지 확인합니다. 실행하지 않으면/etc/init.d/docker start


5
나는 같은 문제를 가지고있다. 'ps'는 내 docker 프로세스가 여전히 실행 중임을 나타냅니다.
Jonathan Hartley

이미 실행중인 도커를 멈추고 시작하면 나를 곧게했습니다.
kyle

14
sudo service docker start"docker start / running, process 4633"이라고 sudo service docker status말한 다음 "docker stop / waiting"이라고 말합니다
Pierre de LESPINAY

12

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

$ sudo service docker stop
$ sudo service docker start

그리고 작동합니다.


9

비슷한 문제가 있습니다. Docker를 설치하고 다음 명령이 내 환경에 표시되지 않았기 때문에 로그 아웃하고 셸에 다시 로그인해야했습니다.

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

3
방금 로그 아웃했다가 다시 로그인해야했습니다. 모두 해결되었습니다!
Mark Shust at M.academy

이것은 내 문제를 해결했습니다! 우분투 16.04를 WSL로 실행하고 있습니다. 내가 변경해야 할 유일한 것은 기본 포트 번호였습니다 : export DOCKER_HOST = 127.0.0.1 : 2375 >> ~ / .bashrc
Alex

9

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

$ sudo service docker stop
$ sudo service docker start

그러나 Docker 명령을 실행하지 않고 잊어 버렸기 때문에 문제를 해결하지 못했습니다. sudo . 이 문제에 직면 한 사람들은이를 확인하십시오.

시험

$ sudo docker info

이 대신에 :

$ docker info

이것은 Ubuntu Xenial 에서 실행할 때 정확히 내 문제 docker build였습니다.
ashnazg

9

당신은 명령을 사용할 수 있습니다

sudo service docker stop && sudo service docker start

간단히 시작합니다.


3
또는 sudo service docker restart더 쉬워요 😊
fr1sk

8

나는 같은 오류가 docker-machine regenerate-certs있거나eval.. 나를 위해 작동하지 않았습니다.

이것은 OS X 10.11.3 (El Capitan) 및 Docker v1.10.1에서 제공됩니다. docker-machine을 삭제하고 다시 작성해야만 문제를 해결할 수있었습니다. 출처

실행 중이면 docker-machine ls아래 출력과 유사한 출력이 표시됩니다.

의사

알 수 없는

오류

도커 버전을 쿼리 할 수 ​​없습니다 : 도커 엔진 엔드 포인트에 연결할 수 없습니다

Docker 시스템을 제거하십시오.

docker-machine rm -f default

defaultDocker 컴퓨터 이름은 어디에 있습니까 ? 그때;

docker-machine create -d virtualbox default

새로운 Docker 시스템을 만듭니다.

다음을 사용하여 모든 것이 현재 정상적으로 보이는지 다시 확인하십시오 (오류 또는 알 수없는 Docker 없음).

docker-machine ls

마지막으로 "$(docker-machine env default)"Docker 빠른 시작 터미널을 계속하거나 실행 하기 전에 실행하는 것을 잊지 마십시오 .


6

"도커 데몬에 연결할 수 없습니다."라는 동일한 문제가있었습니다. (서버를 시작하려고 할 때 '파일을 찾을 수 없음'오류가 발생하지 않았다는 것을 제외하고)

'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

그래서 나는 도커를 설치하면 데몬이 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

6

현재 사용자를 docker그룹에 추가하십시오 .

sudo usermod -aG docker $USER

그런 다음 로그 아웃하고 로그인하십시오.


6

사용 도커 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 whale 아이콘을 확인하십시오.

  4. 이제 사용할 수 있어야 docker, docker-compose, docker-machine에서 평소와 같이 명령 터미널 .

관련 :

리눅스 / 윈도우

다운로드 다운로드 페이지에서 부두 노동자 CE를 하고 지시 사항을 따르십시오.


2018-5-20 참고 : macOS의 Docker CE 앱은 매우 엉성합니다. 내가 그것을 열 때마다 그것은 바로 멈춰 버리고 아무것도 할 수 없습니다. 나는 구글을 시도하고 문제를 해결하기 위해 지금까지 여전히 문제를 해결하고있다
NamNamNam

1
보고 된 문제에 대한 정답입니다. 감사합니다.
paranza

6

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

sudo systemctl start docker

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


5

Amazon AWS 에서 동일한 문제가 발생했습니다 .

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

  • docker-machine이미 존재하는 AWS 인스턴스로 로컬로 설정
  • 사용 된 일반 설정
  • 연결되어 있지만 원격 포트가 닫혀서 실패했습니다.
  • 그 후 Docker 데몬은 시작을 거부했지만 실행 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)

4

Docker의 DOC 사이트 팔로우 : Docker를 루트가 아닌 사용자로 관리

1) 도커 그룹 생성

sudo groupadd docker 

2) 사용자가 docker 그룹에 속하여 그룹의 권한을 얻습니다.

sudo usermod -aG docker $USER

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

env | grep DOCKER_HOST

존재하는 경우

unset DOCKER_HOST

그런 다음 작동해야합니다.

docker run hello-world

1
당신은 생명의 은인이 unset DOCKER_HOST나를 위해 일한
user3014595

4

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

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

docker-machine restart

그리고

docker-machine env

드디어,

eval $(docker-machine env)

데몬을 테스트하려면 다음을 수행하십시오.

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


2

나는 같은 문제를 겪었다. CentOS 6.5에서 :

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

Docker 데몬 프로세스가 존재하지 않으면 다음을 입력하십시오.

docker -d

그런 다음 Ctrl+ D를 눌러 Docker를 중지하십시오. -d옵션 을 사용하기 때문에 Docker는 데몬으로 실행됩니다. 이제 우리는 할 수 있습니다 :

service docker start

그런 다음 할 수 있습니다 docker pull centos . 그게 다야.

참고 :이 방법으로 문제가 해결되지 않으면을 시도한 yum update후 다시 시도 할 수 있습니다 yum install.


2

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

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

sudo systemctl start docker

Ubuntu / Debian을 사용하는 경우 :

sudo service start docker

Docker가 호스트 및 해당 포트에서 실행되기 시작합니다.


1

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등, 등을.

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


1
  1. 나도 같은 문제가 있었다. docker-daemon 및 docker-client에 할당 된 소켓에 문제가 있습니다.
  2. 먼저 docker.sock에서 docker-client에 대한 권한이 설정되지 않았습니다. "sudo usermod -aG docker $ USER"를 사용하여 권한을 설정할 수 있습니다.
  3. 그런 다음 docker-client가 실행중인 bash 파일을 확인하십시오. 나에게 그것은 docker-daemon이 유닉스 소켓에서 실행되는 동안 0.0.0.0:2375에있었습니다 (dockerd의 구성 파일에 설정되었습니다).
  4. bash 줄을 주석 처리하면 정상적으로 작동합니다.
  5. 그러나 유닉스 소켓 대신 TCP 포트에서 작동하게하려면 dockerd의 구성 파일을 변경하고 0.0.0.0.2375로 설정하고 bash에있는 그대로 줄을 유지하거나 0.0.0.0으로 설정하십시오. 2375.

1

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

# 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/*

이제 일을 단순화하고 더 많은 시간을 얻으려면 매개 변수를 사용하여 init스크립트 를 실행할 수 있습니다 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

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


1

우분투 14.04에서 Docker 1.10을 실행하는 것과 동일한 문제가 있었고 주어진 답변 중 아무것도 작동하지 않았습니다. 나를 위해 수정은 Docker 데몬을 실행할 때 저장소 드라이버를 지정하는 것이 었습니다.

sudo docker daemon --storage-driver=devicemapper

1

gitlab-ci / gitlab-runners를 사용하는 경우 액세스 권한이 없으면 해당 오류가 발생합니다 /var/run/docker.sock.

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock

문제를 해결하려면

sudo usermod -aG docker gitlab-runner

확인 :

sudo -u gitlab-runner -H docker info

희망이 도움이됩니다.


0

TLS 인증서 재생성이 작동하지 않는 경우

docker-machine regenerate-certs default

docker 시스템을 다시 시작하고 env 변수를 설정하십시오.

docker-machine restart default
eval $(docker-machine env default)

머신이 다음을 실행 중인지 확인하십시오.

docker-machine ls

또는 대안 적으로

docker run hello-world

이것은 나를 위해 일했습니다. 그러나 여전히 데몬이 설치되어 있지 않으면 Docker의 문제 해결 페이지 에 새 컴퓨터를 중지, 제거 및 생성하는 프로세스가 자세히 설명됩니다.


0

"도커 데몬에 연결할 수 없습니다.이 호스트에서 도커 데몬이 실행되고 있습니까?"라는 문제가 있습니다.

나는 사용하는 것을 잊었다 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.