Programing

unix : /var/run/docker.sock에서 Docker 데몬에 연결할 수 없습니다.

lottogame 2020. 9. 18. 19:11
반응형

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


인터넷에서 사용 가능한 모든 솔루션을 적용했지만 여전히 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

이것을 시도해 볼 수 있습니다.

systemctl start docker

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

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

gpasswd -a $USER docker

도 커가 완전히 종료되지 않으면이 오류가 발생할 수 있습니다. 다음 답변은 도커 스냅 패키지에 대한 것입니다.

다음을 실행 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/179/run/docker.pid
snap stop docker
snap start docker

'179'를 적절한 버전 번호로 바꾸십시오.


그냥 실행

sudo dockerd

그리고 당신은 갈 수 있습니다.


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

여전히 작동하지 않으면 설치 후 docker 데몬을 다음과 같이 중지하십시오.

$ sudo service docker stop

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

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

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

$ sudo usermod -aG docker $USER

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

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

내부 파일 /lib/systemd/system/docker.service 변경 : ExecStart = / usr / bin / dockerd fd : // with 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 "

그런 다음 컴퓨터를 다시 시작하십시오. 그리고 도커로 놀아보세요.


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

해결하려면

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

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


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

service docker start

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

Linux에서 나를 위해 작동하는 솔루션이 있습니다.

systemctl start docker.


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


export DOCKER_HOST=tcp://localhost:2375 is perfect for anyone who doesn't have sudo access and the user doesn't have access to unix:///var/run/docker.sock


I was trying to run docker(just installed) in an instance of AWS when the message appears. I just write sudo service docker start and works fine for me.

Also see AWS with Docker


I had this problem after closing docker will pulling a container docker pull mongo. At first I was getting weird errors so I purged docker sudo apt-get purge docker.io and reinstalled sudo apt-get install docker.io... all of this did nothing. I couldn't even run the hello-world container. The correct fix for me at least was:

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

After this I could pull mongo and run hello world.

Cheers!


I had the same problem for gitlab CI running node:lts image:

  • I just restarted the docker daemon and restart the container, it worked for me.

This worked for me, It might just work for you if you are using Ubuntu 16 or 18 (14 may also work). Easy to give a try:

Go to Ubuntu Software, type in Docker. Uninstall docker (108 mb) if it is preinstalled there. Install docker Now run the commands and see if the same error comes

The error:

enter image description here

After doing the above steps. enter image description here

As you can see, it worked:)


For me the solution was to simply make sure I had installed the correct Docker package. For example, for Ubuntu the depreciated packages are:

  • docker
  • docker-engine
  • docker.io
  • containerd
  • runc

For installation check https://docs.docker.com. Instructions are provided for Ubuntu, CentOS, Debian and Fedora at the time of writing.


I faced same issue on Linux when I installed docker using yum (yum install docker).

Resolution: download docker binary from official site: docker install, unpack and follow the installation steps.


Make sure information in this path /etc/docker/daemon.json

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

delete

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

and runs well enter image description here


This issue can be resolved permanently by running 1. systemctl enable docker 2. service docker start

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

반응형