Kan geen verbinding maken met de Docker-daemon op unix:/var/run/docker.sock. Draait de docker-daemon?

Ik heb alle beschikbare oplossingen op internet toegepast, maar ik kan Docker nog steeds niet uitvoeren.

Ik wil Scrapy Splash op mijn server gebruiken.

Hier is historyvan opdrachten die ik uitvoerde.

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

Je kunt zien dat ik ook heb geprobeerd mijn server opnieuw op te starten, maar dat heeft niet geholpen.

zie uitvoer van 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

Antwoord 1, autoriteit 100%

Je kunt dit uitproberen:

systemctl start docker

Het werkte prima voor mij.

P.S.: als er commando’s zijn die je niet zonder sudo kunt doen, probeer dan dit:

gpasswd -a $USER docker

Antwoord 2, autoriteit 48%

Gewoon rennen

sudo dockerd

dockerd is de daemon-service voor docker-containers, omdat deze niet op de achtergrond draait, kunnen we geen acties ondernemen met betrekking tot de service, die opnieuw moet worden gestart.


Antwoord 3, autoriteit 24%

Je kunt deze foutmelding krijgen als docker niet netjes wordt afgesloten. Het volgende antwoord is voor het docker snap-pakket.

Voer snap logs dockeruit en zoek naar het volgende:

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

Het verwijderen van dat bestand en het herstarten van docker werkte voor mij.

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

Zorg ervoor dat u ‍‍‍‍<your-version-number>‍vervangt door het juiste versienummer.


Antwoord 4, autoriteit 14%

Eenvoudige manier om dit probleem op te lossen, probeer dit

sudo su
systemctl start docker
systemctl enable docker
systemctl restart docker

Antwoord 5, autoriteit 13%

Ik heb dit zojuist gedaan nadat ik een nieuwe installatie van DOCKER heb gedaan vanuit de hoofddocumenten.
Het probleem voor mij was dat de service direct na de installatie niet actief is.

Deze commando’s helpen je ervoor te zorgen dat docker actief is zodat je run-commando het kan vinden:

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

Antwoord 6, autoriteit 9%

Probeer eerst met sudo, aangezien de huidige gebruiker mogelijk geen toegangsrechten heeft om met de docker-daemon te communiceren, bijv. /var/run/docker.sock

Als het nog steeds niet werkt, stop dan na de installatie de docker-daemon als,

$ sudo service docker stop

En voer het volgende commando uit om de daemon op de achtergrond te starten,

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

Om het werken met Docker gemakkelijker te maken, moet u uw gebruikersnaam toevoegen aan
de Docker-gebruikersgroep. Een gebruiker aan de groep toevoegen kan met de
onderstaande opdracht

$ sudo usermod -aG docker $USER

Deze stap wordt ook vermeld in de officiële documentatie van docker Post-installatiestappen voor Linux (https://docs.docker.com/engine/installation/linux/linux-postinstall/)

De Ubuntu 16.04-gebruikerskunnen deze stappen volgen,

Binnen bestand /lib/systemd/system/docker.servicewijziging:
ExecStart=/usr/bin/dockerd fd://
met
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375

Binnen bestand /etc/init.d/dockerwijziging:

DOCKER_OPTS=
met
DOCKER_OPTS=”-H ****tcp://0.0.0.0:2375

en start vervolgens uw machine opnieuw op. En begin te spelen met docker.


Antwoord 7, autoriteit 7%

Het heeft voor mij gewerkt:

sudo systemctl unmask docker
sudo systemctl start docker

Antwoord 8, autoriteit 7%

Ik ben gewoon vergeten Docker Desktop op mijn Mac te gebruiken, na het uitvoeren van Docker Desktop ben je klaar om te gaan.


Antwoord 9, autoriteit 5%

Dit gebeurde meestal als je Docker waarschijnlijk niet hebt gestopt.

Oplossen

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

vervolgens “docker run….” om uw afbeelding te downloaden en de container zoals gewoonlijk te starten


Antwoord 10, autoriteit 4%

Dit werkt prima voor mij..!

service docker opnieuw opstarten


Antwoord 11, autoriteit 2%

Ik gebruik root en heb het hieronder geprobeerd, het werkte:

service docker start
export DOCKER_HOST="tcp://0.0.0.0:2375"

Antwoord 12, autoriteit 2%

Ik had dit probleem na het sluiten van docker will pulling a container docker pull mongo. In het begin kreeg ik rare fouten, dus ik verwijderde docker sudo apt-get purge docker.ioen installeerde sudo apt-get install docker.ioopnieuw… dit alles deed niets. Ik kon de hello-world container niet eens besturen. De juiste oplossing voor mij was in ieder geval:

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

Hierna kon ik Mongo overhalen en hallo wereld runnen.

Proost!


Antwoord 13, autoriteit 2%

Ik denk dat als je WSL met GUI gebruikt, je het gewoon zou kunnen proberen

sudo /etc/init.d/docker start

Antwoord 14, autoriteit 2%

hier is de oplossing die voor mij werkt onder Linux

systemctl start docker.


Antwoord 15, autoriteit 2%

Ik ontving ook de onderstaande foutmelding, nadat ik de docker had geïnstalleerd en uitgevoerd: docker run hello-world
#Kan geen verbinding maken met de Docker-daemon op unix: /var/run/docker.sock. Draait de docker-daemon?

Hier is een oplossing die voor mij werkte.
Omgeving

  • Windows 10 (Vergeet niet in Windows: Instellingen> Update en Beveiliging> Ontwikkelaarsmodus)
  • Ubuntu 18.04 LTS
  • Docker Desktop-versie 2.3.0.2 (45183)
    • Inschakelen in Docker Desktop: Expose daemon op tcp: // localhost: 2375 zonder TLS
    • Docker Desktop moet ook actief zijn (verbonden met Docker Hub … log gewoon in)

Na installatie van ubuntu, update de repository

sudo apt-get update

Een opslagplaats gebruiken via HTTPS

sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

Voeg de officiële Docker GPG-sleutel toe:

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

Zorg ervoor dat je nu de sleutel met de vingerafdruk hebt

sudo apt-key fingerprint 0EBFCD88

Update de repository

sudo apt-get update

Werk de docker-repository bij

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

Update de repository opnieuw

sudo apt-get update

Opdracht om de docker te installeren in versie: 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

Opdracht om de DOCKER_HOST in te stellen

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

Opmerking: zet het bovenstaande commando in je profiel om te beginnen met de ubunto
bijv: echo “export DOCKER_HOST=”tcp://0.0.0.0:2375″” >> ~/.bashrc

Gebruiker toevoegen aan de docker-groep

sudo usermod -aG docker $USER

Herstart ubuntu

(Sluit en open het ubuntu-venster opnieuw)
of ren:

source ~/.bashrc

Testen van de installatie (gebruik niet meer sudo vóór Docker-opdrachten (het geeft een fout), de gebruiker “root” is al opgenomen in de Docker Group)

docker run hello-world

Het onderstaande bericht moet worden weergegeven

Hallo van Docker!
Dit bericht laat zien dat uw installatie correct werkt.

OPMERKING: Als het mislukt, voert u de opdracht opnieuw uit:

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

Referentie: https://docs.docker.com/engine/install/ubuntu/
SESSIE: Installeer Docker Engine

# Voor andere versies van de Docker die kan worden geïnstalleerd met Ubuntu, zie de repository met behulp van de onderstaande opdracht:
APT-cache Madison Docker-CE

Installeer vervolgens de gewenste versie van de Docker:

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

Antwoord 16

Zorg ervoor dat informatie op dit pad /etc/docker/daemon.json

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

Verwijderen

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

en loopt goed
Voer hier afbeeldingsbeschrijving in


Antwoord 17

Ik probeerde docker (zojuist geïnstalleerd) uit te voeren in een exemplaar van AWS toen het bericht verschijnt.
Ik schrijf gewoon sudo service docker starten werkt prima voor mij.

Zie ook AWS met Docker


Antwoord 18

Deze uitzondering komt wanneer de service van docker niet actief is of de ingelogde gebruiker geen toestemming heeft om toegang te krijgen tot docker en over het algemeen in RedHat

Het gebruik van onderstaande opdracht zou het probleem moeten oplossen

sudo service docker start


Antwoord 19

gebruik dit in ubuntu
export DOCKER_HOST=tcp://localhost:2375


Antwoord 20

export DOCKER_HOST=tcp://localhost:2375 is perfect voor iedereen die geen sudo-toegang heeft en de gebruiker geen toegang heeft tot unix:///var/run/docker.sock


Antwoord 21

Geen van de huidige antwoorden werkte voor mijn versie van deze fout. Ik gebruik de desktopversie van Ubuntu 18. De volgende twee opdrachten hebben het probleem opgelost.

sudo snap connect docker:home :home

sudo snap start docker


Antwoord 22

Voer in de rootmodus het commando systemctl start docker

uit

En daarna kunt u de status controleren door systemctl status docker

uit te voeren


Antwoord 23

Ik had hetzelfde probleem voor gitlab CI running node:lts image:

  • Ik heb zojuist de docker-daemon opnieuw opgestart en de container opnieuw opgestart, het werkte voor mij.

Antwoord 24

Dit werkte voor mij. Misschien werkt het ook voor jou als je Ubuntu 16 of 18 gebruikt (14 werkt misschien ook). Makkelijk uit te proberen:

Ga naar Ubuntu Software, typ Docker in.
Verwijder docker (108 mb) als het daar vooraf is geïnstalleerd.
Docker installeren
Voer nu de opdrachten uit en kijk of dezelfde fout optreedt

De fout:

Na het uitvoeren van de bovenstaande stappen.

Zoals je kunt zien, werkte het 🙂


Antwoord 25

Ik had hetzelfde probleem op Linux toen ik docker installeerde met yum (yum install docker).

Oplossing: download docker binary van officiële site: docker install, pak uit en volg de installatiestappen.


Antwoord 26

Het kan te maken hebben met geen schijfruimte meer op de harde schijf. Zorg ervoor dat er ruimte over is op het apparaat, Docker kan niet opstarten als er geen ruimte meer is.


Antwoord 27

Ik heb docker geïnstalleerd vanuit de snap-repository. Dus ik moest ook beginnen met snap (met Ubuntu).

sudo snap start docker

Anders kun je het ook installeren vanuit hun repositories.


Antwoord 28

Ik had dit probleem toen docker werd gestart nadat mijn terminal was gestart. Het herstarten van de terminal of het proces dat de terminal host (zoals vscode) loste het probleem op.


Antwoord 29

Dit is misschien een beetje laat voor je, maar ik hoop dat het iemand zal helpen zijn weg te vinden door de jungle van de havenarbeiders.
Het probleem kan worden veroorzaakt door een probleem met de binding van de tcp-poort
controleer of dit bestand bestaat

/etc/systemd/system/docker.service.d

Dit is het standaard Unix-socket luisteren override-bestand. Het bestand zou leeg kunnen zijn, maar ik vind dat het feit dat het bestaat, soms wat hoofdpijn veroorzaakt als wat je hebt geconfronteerd.
Als het bestaat 1. Dan 2. zo niet gewoon rechtdoor naar 2.

1. $ sudo rm -rf /etc/systemd/system/docker.service.d
2. $ sudo systemctl deamon-reload

Ik merk dat sommige aanbevelingen hier over het hoofd zien in de feitelijke daemon die niet laadt

Een goede vriend tijdens het spelen met Docker is

$ systemctl status docker.service

ANTWOORD 30

Voor mij was de oplossing om simpelweg ervoor te zorgen dat ik het juiste Docker-pakket had geïnstalleerd. Bijvoorbeeld, voor Ubuntu the afgeschreven pakketten zijn:

  • Docker
  • Docker-Engine
  • docker.io
  • CONTAINDD
  • runc

Voor installatiecontrole https://docs.docker.com . Instructies worden verstrekt voor ubuntu , Centos , Debian en Fedora op het moment van schrijven.

Other episodes