programing

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

telecom 2023. 10. 22. 19:25
반응형

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

인터넷에서 사용 가능한 모든 솔루션을 적용했지만 여전히 도커를 실행할 수 없습니다.

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

여기 있습니다.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

그러나 다음과 같은 오류가 발생합니다.

다음 위치에서 도커 데몬에 연결할 수 없습니다.unix:///var/run/docker.sock 도커 데몬이 실행되고 있습니까?

다음을 시도해 볼 수 있습니다.

systemctl start docker

저한테는 잘 됐어요.

추신: sudo 없이는 할 수 없는 명령이 있을 경우 다음을 시도해 보십시오.

gpasswd -a $USER docker

저스트 런

sudo dockerd

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

메인 문서에서 DOCKER를 새로 설치한 후에 이것을 눌렀습니다.저는 설치 직후 서비스가 실행되지 않는 것이 문제였습니다.

다음 명령은 도커가 실행 명령을 실행하여 도커를 찾는지 확인하는 데 도움이 됩니다.

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

도커가 정상적으로 종료되지 않으면 이 오류가 발생할 수 있습니다.도커 스냅 패키지에 대한 답변은 다음과 같습니다.

실행.snap logs docker다음 항목을 찾습니다.

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

저는 그 파일을 삭제하고 도커를 다시 시작하는 것이 효과적이었습니다.

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

반드시 교체해주시기 바랍니다.<your-version-number>‍적절한 버전 번호를 사용할 수 있습니다.

이 문제를 쉽게 해결할 수 있는 방법, 시도해 보십시오.

sudo su
systemctl start docker
systemctl enable docker
systemctl restart docker

아니면

sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl restart docker

enter image description here

맥에서 도커 데스크톱을 실행하는 것을 잊어버렸을 뿐입니다. 도커 데스크톱을 실행한 후에는 사용해도 좋습니다.

먼저 해보세요.sudo, 현재 사용자가 도커 데몬과 통신할 수 있는 액세스 권한이 없을 수 있으므로, 즉:

/var/run/docker.sock

그래도 작동하지 않는 경우 설치 후 도커 데몬을 중지하기만 하면 됩니다.

sudo service docker stop

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

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

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

sudo usermod -aG docker $USER

또한 이 단계는 리눅스용 도커 사후 설치 단계의 공식 문서에 언급되어 있습니다.

Ubuntu 16.04 사용자는 다음 단계를 수행할 수 있습니다.

파일내부/lib/systemd/system/docker.service변경:

ExecStart=/usr/bin/dockerd fd://

로.

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375

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

DOCKER_OPTS=

로.

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

그런 다음 컴퓨터를 다시 시작하고 도커를 가지고 게임을 시작합니다.

아마 도커를 막지 않았다면 이런 일이 자주 벌어졌을 겁니다.

해결하려면

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

이미지를 다운로드하고 컨테이너를 평소와 같이 시작하는 " docker run...".

제게 효과가 있습니다.

sudo systemctl unmask docker
sudo systemctl start docker

우분투 22.04가 제 운영체제입니다.광범위한 조사와 여러 웹사이트를 둘러본 결과, 저는 도커를 루트가 아닌 사용자로 실행하는 것이 다른 맥락을 만들어 낸다는 것을 발견했습니다.아래에 나와 있는 명령어를 사용하여 제 문제를 해결했습니다.

docker context ls 
docker context use default 

이 정도면 잘 먹히는데요..!

service docker restart

GUI로 WSL을 사용하고 있다면 그냥 시도해 볼 수 있을 것 같습니다.

sudo /etc/init.d/docker start

컨테이너를 끄는 동안 도커를 닫은 후 이 문제가 발생했습니다.

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

이 후 몽고를 뽑고 "헬로 월드"를 실행할 수 있었습니다.

우분투 22에서는 sudo service docker start가 잘 되었습니다.

vikaspiprade@AUMEL-P7750-VP:~$ sudo docker run hello-world
docker: Cannot connect to the Docker daemon at 
unix:///var/run/docker.sock. Is the docker daemon running?.
See 'docker run --help'.
vikaspiprade@AUMEL-P7750-VP:~$ sudo /var/run/docker.sock
sudo: /var/run/docker.sock: command not found
vikaspiprade@AUMEL-P7750-VP:~$ /var/run/docker.sock
-bash: /var/run/docker.sock: Permission denied
vikaspiprade@AUMEL-P7750-VP:~$ sudo service docker stop
* Docker already stopped - file /var/run/docker-ssd.pid not found.
vikaspiprade@AUMEL-P7750-VP:~$ sudo service docker start
* Starting Docker: docker                                                                                       
[ OK ]
vikaspiprade@AUMEL-P7750-VP:~$

enter image description here

Ubuntu 20.04 및 Docker 버전 20.10.11에서 루트가 아닌 사용자로서 Running:

sudo service docker start

그런 다음 상태를 확인합니다.

sudo service docker status

드라마들.

* Docker is running

하지만 다음과 같은 도커 명령을 시도해 봅니다.

docker images

동일한 오류를 표시합니다.

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

아래를 실행하면 해결됩니다.

sudo service docker restart

재시작은 해결했지만 시작은 해결되지 않았습니다.

뿌리를 내리고 있는데 밑에서 시도해보니 효과가 있었습니다.

service docker start

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

당신이 MAC를 사용하고 있다면 finder에 docker를 입력하기만 하면 자동으로 해결됩니다.

리눅스에서 제게 적합한 솔루션은 다음과 같습니다.

systemctl start docker.

도커가 아직 시작되지 않은 상태에서 발생합니다.

도커상태를확인해주시기바랍니다.

$ sudo systemctl status docker

그런 다음 도커를 시작하고 활성화한 후 상태를 다시 확인합니다.

$ sudo systemctl start docker && sudo systemctl enable docker && sudo systemctl status docker

여기까지입니다.이제 도커를 확인하는 마지막 단계는 잘 작동합니다.

$ sudo docker run hello-world

2022년 솔루션

내 곁에 있는 이 작품:

볼륨에 다음을 추가합니다.

volumes:
 - "/var/run/docker.sock:/var/run/docker.sock"

그 후 아래 명령을 실행합니다.

 sudo  chown 1000:1000 /var/run/docker.sock

1000은 사용자의 아이디임을 유의하시기 바랍니다.다음 명령을 실행합니다.

id

또는 $USER에 사용자 이름이 포함된 경우:

 sudo  chown $USER:$USER /var/run/docker.sock

도커를 설치하고 실행한 후 아래 오류 메시지도 받았습니다: 도커 실행 hello-world #유닉스에서 도커 데몬에 연결할 수 없습니다: /var/run/docker.sock.도커 데몬이 실행 중입니까?

여기 해결책이 있습니다. 저한테 효과가 있었던 거죠.환경

  • Windows 10(윈도우에서 활성화하는 것을 잊지 마십시오:Settings > Update and Security > Developer mode)
  • 우분투 18.04 LTS
  • 도커 데스크톱 버전 2.3.0.2 (45183)
    • 도커 데스크톱에서 활성화:TLS가 없는 tcp: // localhost: 2375에서 데몬 노출
    • 도커 데스크톱도 실행 중이어야 합니다(도커 허브에 연결...).로그인만 하면 됩니다)

우분투를 설치한 후 저장소를 업데이트합니다.

sudo apt-get update

HTTPS를 통해 저장소를 사용하려면 다음과 같이 하십시오.

sudo apt-get install 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-key fingerprint 0EBFCD88

리포지토리 업데이트

sudo apt-get update

도커 저장소 업데이트

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

리포지토리를 다시 업데이트합니다.

sudo apt-get update

도커 버전 설치 명령: 5:18.09.9 ~ 3-0 ~ ubuntu-bionic

sudo apt-get install docker-ce = 5: 18.09.9 ~ 3-0 ~ ubuntu-bionic docker-ce-cli = 5: 18.09.9 ~ 3-0 ~ ubuntu-bionic containerd.io

DOCKER_HOST 설정 명령

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

참고: ubbunto ex로 시작하기 위해 위의 명령을 프로필에 입력하세요: echo "export DOCKER_HOST="tcp://0.0.0:2375" > ~/. bashrc

도커 그룹에 사용자 추가

sudo usermod -aG docker $USER

우분투 다시 시작

(Ubuntu 창을 닫았다가 다시 엽니다.) 또는 다음을 실행합니다.

source ~/.bashrc

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

docker run hello-world

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

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

참고: 실패할 경우 명령을 다시 실행합니다.

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

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

#ubuntu와 함께 설치할 수 있는 다른 버전의 도커는 아래 명령을 사용하여 저장소를 참조하십시오: apt-cache madison docker-ce

그런 다음 원하는 버전의 도커를 설치합니다.

sudo apt-get install docker-ce = <VERSION_STRING> docker-ce-cli = <VERSION_STRING> containerd.io

리눅스 실행의 경우

sudo dockerd

그러나 맥에 도커 클라이언트를 사용하면 작동이 되지 않습니다. 아래 코드를 사용해보세요.

$socat TCP-LISTEN:2376,reuseaddr,fork UNIX-CLIENT:/var/run/docker.sock

https://forums.docker.com/t/using-pycharm-docker-plugin-with-docker-beta/8617/9

그 해결책은 포트 2376을 전세계에 개방합니다 TLS가 활성화되지 않았기 때문에 같은 네트워크에 있는 모든 사람이 당신의 도커 데몬을 납치할 수 있기 때문에 이것은 나쁜 생각입니다

하드 드라이브에 디스크 공간이 남아 있지 않은 것과 관련이 있을 수 있습니다.장치에 공간이 남아 있는지 확인하십시오. 공간이 남아 있지 않으면 도커를 시작할 수 없습니다.

이 경로에서 정보를 확인/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"
]

잘 실행됩니다. 여기에 이미지 설명을 입력하세요.

스냅 저장소에서 도커를 설치했습니다.그래서 스냅(Ubuntu 실행)부터 시작해야 했습니다.

sudo snap start docker

그렇지 않으면 저장소에서 설치할 수도 있습니다.

단말기가 시작된 후 도커가 시작되었을 때 이 문제가 있었습니다.터미널을 다시 시작하거나 터미널을 호스팅하는 프로세스(예: vScode)를 통해 문제가 해결되었습니다.

이는 제 경우에 효과가 있습니다.

sudo service docker start

WSL에서 실행 중dockerd문제를 해결합니다

$ sudo dockerd

node:lts image를 실행하는 gitlab CI에 대해서도 동일한 문제가 발생했습니다.

  • 방금 도커 데몬을 다시 시작하고 컨테이너를 다시 시작했는데, 저한테 효과가 있었어요.

메시지가 나타나면 AWS 인스턴스에서 도커(설치된 지 얼마 안 됨)를 실행하려고 했습니다.나는 그냥 글을 씁니다.sudo service docker start그리고 저는 잘 작동합니다.

AWS with Docker 보기

언급URL : https://stackoverflow.com/questions/44678725/cannot-connect-to-the-docker-daemon-at-unix-var-run-docker-sock-is-the-docker

반응형