unix : /var/run/docker.sock에서 Docker 데몬에 연결할 수 없습니다. 도커 데몬이 실행 중입니까?


172

인터넷에서 사용할 수있는 모든 솔루션을 적용했지만 여전히 Docker를 실행할 수 없습니다.

서버에서 Scrapy Splash를 사용하고 싶습니다.

여기 history내가 실행 한 명령이 있습니다.

docker run -p 8050:8050 scrapinghub/splash
sudo docker run -p 8050:8050 scrapinghub/splash
sudo usermod -aG docker $(whoami)
sudo docker run -p 8050:8050 scrapinghub/splash
newgrp docker
sudo docker run -p 8050:8050 scrapinghub/splash
reboot
sudo docker run -p 8050:8050 scrapinghub/splash
docker run -p 8050:8050 scrapinghub/splash

서버를 다시 시작하려고 시도했지만 도움이되지 않았습니다.

의 출력을 참조하십시오 ps -aux | grep docker

root@mani:/var/www/html# ps aux | grep docker
root      8524  0.0  0.8 127904 13964 ?        Ssl  17:21   0:00 /usr/bin/dockerd --raw-logs
root      8534  0.0  0.3  90588  5012 ?        Ssl  17:21   0:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc
root      8543  0.0  0.0   8812   764 pts/1    S+   17:21   0:00 grep --color=auto docker
root     16356  0.0  0.0  17200   964 pts/1    S    17:14   0:00 newgrp docker
root     20080  0.0  0.0  17200   964 pts/1    S    17:06   0:00 newgrp docker
root     30221  0.0  0.0  17200   964 pts/1    S    17:09   0:00 newgrp docker

ps aux | grep docker, 데몬 프로세스가 실행되고 있습니까?
Rome_Leader


내 질문에 출력 ... 볼 @Rome_Leader
UMAIR Ayub

3
이 시도 : sudo는 서비스 고정 표시기를 다시 시작
Haythem ROUIS

2
당신은 이것을 사용하여 docker deamon의 상태를 볼 수 있습니다 : sudo service docker status활성화되어 있는지 확인하십시오
Haythem ROUIS

답변:


162

당신은 이것을 시도 할 수 있습니다 :

systemctl start docker

그것은 나를 위해 잘 작동했습니다.

추신 : sudo없이 할 수없는 명령이 있으면 다음을 시도하십시오.

gpasswd -a $USER docker

10
첫 번째 명령을 실행하면 오류가 발생했습니다. Failed to start docker.service: Unit docker.service is masked.따라서 다음을 실행해야합니다. systemctl unmask docker.service systemctl unmask docker.socket systemctl start docker.service
Chris Phan

50

도 커가 제대로 종료되지 않으면이 오류가 발생할 수 있습니다. 다음은 docker snap 패키지에 대한 답변입니다.

실행 snap logs docker하고 다음을 찾으십시오.

Error starting daemon: pid file found, ensure docker is not running or delete /var/snap/docker/179/run/docker.pid

그 파일을 삭제하고 docker를 다시 시작하면 나에게 도움이되었습니다.

rm /var/snap/docker/<your-version-number>/run/docker.pid
snap stop docker
snap start docker

교체해야합니다 <your-version-number>‍해당 버전 번호.


이 문제가 발생하지 않도록하려면 어떻게해야합니까? PC를 켤 때마다 docker.pid를 제거해야합니다!
Hamidreza

47

그냥 실행

sudo dockerd

dockerd는 docker 컨테이너의 데몬 서비스입니다. 백그라운드에서 실행되지 않기 때문에 서비스와 관련된 작업을 수행 할 수 없으므로 다시 시작해야합니다.


10
이것은 나를 위해 유일한 명령입니다. Docker를 작동시키기 위해 너무 많은 농구대를 뛰어 넘어야한다는 것은 우스운 일이라고 생각합니다.
Homunculus Reticulli

3
그것은 나에게 오류를 준다Error starting daemon: Devices cgroup isn't mounted
Vineet 'DEVIN'Dev

@fepegar 아마도도 커가 제대로 설치되지
않았을

@YashPokar는 실제로 재설치를 끝내고 이제는 예상대로 작동합니다. 감사.
fepegar

도커 컨테이너 내부에서 도커 컨테이너를 시작하는 명령 만 작동합니다. 빌드하는 동안 내 환경을 만들려면 코드 빌드에 필요합니다. :-)
우리는 5

21

먼저, 현재 사용자는 docker 데몬 (예 : /var/run/docker.sock)과 통신하기위한 액세스 권한이 없을 수 있으므로 sudo로 시도하십시오.

그래도 작동하지 않으면 설치 후에 도커 데몬을 다음과 같이 중지하십시오.

$ sudo service docker stop

그리고 다음 명령을 실행하여 백그라운드에서 데몬을 시작하십시오.

$ sudo nohup docker daemon -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

Docker 작업을보다 쉽게하려면 사용자 이름을 Docker users 그룹에 추가해야합니다. 아래 명령으로 그룹에 사용자를 추가 할 수 있습니다

$ sudo usermod -aG docker $USER

또한이 단계는 Linux의 도커 설치 후 단계에 대한 공식 문서 ( https://docs.docker.com/engine/installation/linux/linux-postinstall/ )에 언급되어 있습니다.

우분투 16.04 사용자는 다음 단계를 수행 할 수 있습니다

내부 파일 /lib/systemd/system/docker.service의 변화 : ExecStart =는 / usr / 빈 / dockerd FD : //ExecStart =는 / usr / 빈 / dockerd -H TCP : //0.0.0.0 : 2375

내부 파일 /etc/init.d/docker 변경 :

DOCKER_OPTS = with DOCKER_OPTS = "-H **** tcp : //0.0.0.0 : 2375 "

그런 다음 컴퓨터를 다시 시작하십시오. 그리고 도커로 게임을 시작하십시오.


1
running sudo nohup docker daemon -H http://tcp://0.0.0.0:2375 () -H http://unix:///var/run/docker.sockgives bash: syntax error near unexpected token ( '`
Umair Ayub

1
나는 레드햇 리눅스를 실행하고
UMAIR Ayub

오 미안. 추가 문자 ()가 업데이트되었습니다. 어떤 버전의 RHEL? $ DOCKER_HOST로 어떤 가치를 얻는 지 간단히 확인하십시오.
mohan08p

$ sudo systemctl을 사용하면도 커가 부팅시 도커 서비스를 시작할 수 있습니다.
mohan08p

이제 Docker를 설치하려고하는데 CentOS Linux release 7.3.1611 (Core)... 오류는 Your Linux kernel version 2.6.32-042stab116.2 is not supported for running docker. Please upgrade your kernel to 3.10.0 or newer.... ... 사용하여 커널을 업데이트 할 수 yum update kernel있습니까? 질문은 서버의 모든 것을 삭제합니까? 웹 사이트가 실행되는 라이브 서버, 엉망이 아닙니다.
Umair Ayub

9

이것은 일반적으로 도커를 중지하지 않은 경우에 발생합니다.

해결하기

service docker stop
cd /var/run/docker/libcontainerd
rm -rf containerd/*
rm -f docker-containerd.pid
service docker start

그런 다음 "docker run ...."을 클릭하여 이미지를 다운로드하고 평소와 같이 컨테이너를 시작하십시오.


8

주요 문서에서 DOCKER를 새로 설치 한 후이 문제를 해결했습니다. 문제는 설치 직후 서비스가 실행되지 않는다는 것입니다.

이 명령은 docker가 실행 명령을 찾기 위해 실행되고 있는지 확인하는 데 도움이됩니다.

$ sudo service --status-all 
$ sudo service docker start
$ sudo service docker start

7

나는 루트에서 실행 중이고 아래에서 시도했지만 작동했습니다.

service docker start

export DOCKER_HOST="tcp://0.0.0.0:2375"

3
이것이 호스트에서 작동하면 효과적으로 루트 암호가없는 것입니다. 해당 포트에 액세스 할 수있는 모든 사용자는 호스트에서 루트로 명령을 실행할 수 있습니다.
BMitch

6

도커를 닫은 후 컨테이너를 당기면이 문제가 발생했습니다 docker pull mongo. 처음에는 이상한 오류가 발생하여 도커를 제거 sudo apt-get purge docker.io하고 다시 설치했습니다 sudo apt-get install docker.io...이 모든 것이 아무것도하지 않았습니다. 헬로 월드 컨테이너도 실행할 수 없었습니다. 적어도 나를위한 올바른 해결책은 다음과 같습니다.

systemctl unmask docker.service
systemctl unmask docker.socket
systemctl start docker.service

이 후 나는 몽고를 잡아 당겨서 hello world를 실행할 수 있습니다.

건배!


나는 우분투 18.04에 도우와 함께해야 할 일을했을
Basanth


2

우분투 내보내기에서 이것을 사용하십시오 DOCKER_HOST = tcp : // localhost : 2375


이것이 시스템에서 작동하면 효과적으로 루트 암호가없는 것입니다. 해당 포트에 액세스 할 수있는 모든 사용자는 호스트에서 루트로 명령을 실행할 수 있습니다.
BMitch

2

export DOCKER_HOST = tcp : // localhost : 2375는 sudo 액세스 권한이없고 사용자가 unix : ///var/run/docker.sock에 액세스 할 수없는 사용자에게 적합합니다.


이것은 일반적으로 루트 액세스 권한이 없지만 호스트에서 쉽게 루트가 되고자하는 사람에게 유용합니다. 해당 포트에 액세스 할 수있는 모든 사용자는 루트로 명령을 실행할 수 있습니다.
BMitch

@BMitch는 정교하게 관리?
Fran Marzoa

신뢰할 수없는 다른 사용자 또는 다른 호스트의 @FranMarzoa docker run는 컨테이너 내부의 루트 사용자와 권한이 있고 pid 및 네트워크의 호스트 네임 스페이스를 사용하여 루트 명령으로 명령을 실행할 수 있으며 루트 파일 시스템을 마운트하십시오.
BMitch

2

메시지가 나타나면 AWS 인스턴스에서 docker (방금 설치)를 실행하려고했습니다. 나는 단지 쓰고 sudo service docker start나를 위해 잘 작동합니다.

Docker가있는 AWS 도 참조


2

여기에 이미지 설명을 입력하십시오

Mac에서 Docker Desktop을 실행하는 것을 잊어 버렸습니다 .Docker Desktop을 실행 한 후에는 잘 갈 것입니다.


2

이 예외는 docker 서비스가 실행 중이 아니거나 로그인 한 사용자가 docker에 액세스 할 수있는 권한이없고 일반적으로 RedHat에있는 경우에 발생합니다.

아래 명령을 사용하면 문제가 해결됩니다.

sudo 서비스 도커 시작

여기에 이미지 설명을 입력하십시오



1

gitlab CI running node : lts 이미지에 대해 동일한 문제가 발생했습니다.

  • 방금 도커 데몬을 다시 시작하고 컨테이너를 다시 시작했는데 나에게 도움이되었습니다.

1

이것은 나를 위해 일했습니다. 우분투 16 또는 18을 사용하는 경우에만 효과가 있습니다 (14도 작동 할 수 있음). 시도해보기 쉽습니다.

Ubuntu Software로 이동하여 Docker를 입력하십시오. Docker (108MB)가 사전 설치되어 있으면 제거하십시오. docker 설치 이제 명령을 실행하고 동일한 오류가 발생하는지 확인하십시오.

오류:

여기에 이미지 설명을 입력하십시오

위 단계를 수행 한 후 여기에 이미지 설명을 입력하십시오

당신이 볼 수 있듯이, 그것은 효과가 있었다 :)


1

yum (yum install docker)을 사용하여 docker를 설치할 때 Linux에서 동일한 문제에 직면했습니다.

해결 방법 : 공식 사이트 : docker install 에서 docker binary를 다운로드 하고 압축을 풀고 설치 단계를 따르십시오.


1

이 오류의 내 버전에 대해 현재 답변이 작동하지 않았습니다. 데스크탑 버전의 Ubuntu 18을 사용하고 있습니다. 다음 두 명령으로 문제가 해결되었습니다.

sudo snap connect docker:home :home

sudo snap start docker


0

나를 위해 해결책은 올바른 Docker 패키지를 설치했는지 확인하는 것이 었습니다. 예를 들어 Ubuntu의 경우 감가 상각 된 패키지 는 다음과 같습니다.

  • 도커
  • 도커 엔진
  • docker.io
  • 컨테이너

설치 확인 https://docs.docker.com . 작성 시점에 Ubuntu , CentOS , DebianFedora 에 대한 지침이 제공됩니다 .


몇 가지 단계를 놓쳤습니다.이 링크를 따라 repo에 서명하십시오. medium.com/@sebagomez/…
Robert

@Robert, 위의 PGP 키를 얻기 위해 공식 docs.docker를 참조하십시오. 이 사이트 나 매체에서 사용자를 복사하는 것보다 안전합니다.
RikH

우분투 단계를 시도했지만 작동하지 않습니다. 서명 절차와 내가 제공 한 링크가 필요합니다.
Robert

@Robert, 불완전한 지침을 제거하고 공식 문서를 참조하십시오.
RikH

0

이 경로에 정보를 확인하십시오 /etc/docker/daemon.json

{
  "registry-mirror": [
    "https://registry.docker-cn.com"
  ],
  "insecure-registries": [
    "192.168.199.100:5000"
  ]
}

지우다

"insecure-registries": [
    "192.168.199.100:5000"
]

및 실행 잘 여기에 이미지 설명을 입력



0

사용하다 docker start <your_container_name>

그런 다음 다음을 사용하여 데이터베이스에 연결하십시오. mssql -u <yourUsername> -p <yourPassword>

첫 번째 단계에서 오류가 발생하면도 커가 실행 중이고 두 번째 단계로 진행하십시오.

참고 : Mac을 기본 OS로 사용하며 이는 Unix 기반 OS의 경우와 동일한 답변 일 수 있습니다. 그렇지 않다면! 미리 죄송합니다.


0

docker를 설치하고 실행 한 후 아래 오류 메시지가 나타납니다. docker run hello-world

unix /var/run/docker.sock에서 Docker 데몬에 연결할 수 없습니다. 도커 데몬이 실행 중입니까?

여기 나를 위해 일한 해결책이 있습니다. 환경-Windows 10 (Windows에서 활성화하는 것을 잊지 마십시오 : 설정> 업데이트 및 보안> 개발자 모드)-Ubuntu 18.04 LTS-Docker Desktop 버전 2.3.0.2 (45183)-Docker Desktop에서 활성화 : tcp에서 데몬 노출 : // localhost : TLS가없는 2375-Docker Desktop도 실행 중이어야합니다 (Docker Hub에 연결되어 있고 로그인 만하면 됨).

우분투 설치 후 리포지토리 업데이트

sudo apt-get 업데이트

HTTPS를 통해 리포지토리를 사용하려면

sudo apt-get 설치 \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common

공식 Docker GPG 키를 추가하십시오.

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add-

지문 키가 있는지 확인하십시오

sudo apt 키 지문 0EBFCD88

저장소 업데이트

sudo apt-get 업데이트

도커 저장소 업데이트

sudo add-apt-repository \ "deb [arch = amd64] https://download.docker.com/linux/ubuntu \ $ (lsb_release -cs) \ 안정"

저장소를 다시 업데이트하십시오.

sudo apt-get 업데이트

도커를 버전으로 설치하는 명령 : 5 : 18.09.9 ~ 3-0 ~ ubuntu-bionic

sudo apt-get install docker-ce = 5 : 18.09.9 ~ 3-0 ~ 우분투 바이오닉 docker-ce-cli = 5 : 18.09.9 ~ 3-0 ~ 우분투 바이오닉 containerd.io

DOCKER_HOST를 설정하는 명령

수출 DOCKER_HOST = "tcp : //0.0.0.0 : 2375"

참고 : 위 명령을 프로파일에 입력하여 ubunto ex로 시작하십시오. echo "export DOCKER_HOST = 'tcp : //0.0.0.0 : 2375'">> ~ / .bashrc

도커 그룹에 사용자 추가

sudo usermod -aG docker $ USER

우분투 다시 시작

(우분투 창을 닫았다가 다시 엽니 다)

설치 테스트 (docker 명령 전에 더 많은 sudo를 사용하지 마십시오 (오류가 발생 함), 사용자 "root"는 이미 docker 그룹에 포함되어 있습니다)

docker run hello-world

아래 메시지가 표시되어야합니다

Docker에서 안녕하세요! 이 메시지는 설치가 올바르게 작동하고 있음을 나타냅니다.

참고 : 실패하면 명령을 다시 실행하십시오. export DOCKER_HOST = "tcp : //0.0.0.0 : 2375"

수출 DOCKER_HOST = "tcp : //0.0.0.0 : 2375"

참조 : https://docs.docker.com/engine/install/ubuntu/ 세션 : DOCKER 엔진 설치

우분투와 함께 설치할 수있는 다른 버전의 도커는 아래 명령을 사용하여 리포지토리를 참조하십시오.

apt- 캐시 매디슨 docker-ce

그런 다음 원하는 버전의 도커를 설치하십시오.

sudo apt-get 설치 docker-ce = docker-ce-cli = containerd.io


0

설치시 Docker에 문제가있는 모든 사람에게 적합합니다.

docker 서비스의 오류를 가리키는 오류는 아래 명령을 수행하십시오.

$ sudo apt update

$ sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common

$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

$ sudo apt update

$ apt-cache policy docker-ce

$ sudo apt install docker-ce

-1

이 문제는 1. systemctl enable docker 2. service docker start를 실행하여 영구적으로 해결할 수 있습니다.


service start docker컴퓨터를 재부팅 할 때마다 도커 서비스를 시작 해야하는 것 같습니다 .
Pran Kumar Sarkar

@PranKumarSarkar "sudo systemctl enable docker"를 실행하지 않는 경우
GabrielBB
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.