Impossibile connettersi al demone Docker su unix: /var/run/docker.sock. Il daemon docker è in esecuzione?


172

Ho applicato tutte le soluzioni disponibili su Internet ma non riesco ancora a eseguire Docker.

Voglio usare Scrapy Splash sul mio server.

Ecco i historycomandi che ho eseguito.

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

Puoi vedere che ho provato a riavviare anche il mio server, ma non ha aiutato.

vedere l'output di 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

Se si esegue ps aux | finestra mobile grep, vedi il processo daemon in esecuzione?
Rome_Leader,


@Rome_Leader vedi l'output nella mia domanda ...
Umair Ayub,

3
prova questo: riavvio della finestra mobile di servizio sudo
Haythem ROUIS,

2
puoi vedere lo stato del tuo sudo service docker status
demone docker

Risposte:


161

Puoi provare questo:

systemctl start docker

Ha funzionato bene per me.

PS: dopo se ci sono comandi che non puoi fare a meno di sudo, prova questo:

gpasswd -a $USER docker

10
Eseguendo il primo comando, ho ricevuto un errore: Failed to start docker.service: Unit docker.service is masked.Quindi, ho dovuto eseguire il seguente: systemctl unmask docker.service systemctl unmask docker.socket systemctl start docker.service
Chris Phan,

50

È possibile ottenere questo errore se la finestra mobile non si chiude in modo pulito. La seguente risposta è per il pacchetto snap docker.

Esegui snap logs dockere cerca quanto segue:

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

L'eliminazione di quel file e il riavvio della finestra mobile ha funzionato per me.

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

Assicurarsi di sostituire <your-version-number>‍con il numero di versione appropriata.


Come posso evitare che ciò accada? Ogni volta che accendo il mio PC, devo rimuovere docker.pid!
Hamidreza

47

Corri

sudo dockerd

dockerd è il servizio daemon per i contenitori docker, poiché non è in esecuzione in background non siamo in grado di eseguire alcuna azione relativa al servizio, che deve essere riavviato.


10
Questo è l'unico comando che funziona per me. Penso che sia ridicolo che si debbano saltare così tanti cerchi per far funzionare Docker.
Homunculus Reticulli,

3
Mi dà un erroreError starting daemon: Devices cgroup isn't mounted
Vineet 'DEVIN' Dev

@fepegar Forse non hai installato correttamente la finestra mobile
Yash Pokar

@YashPokar infatti, ho finito per reinstallare e ora le cose funzionano come previsto. Grazie.
fepegar,

Solo il comando che funziona per me all'interno di un contenitore finestra mobile per avviare un contenitore finestra mobile. Ne ho bisogno per codebuild, per creare il mio ambiente durante la costruzione. :-)
Siamo Borg

21

Innanzitutto, prova con sudo , poiché l'utente corrente potrebbe non disporre delle autorizzazioni di accesso per comunicare con il demone docker, ad esempio /var/run/docker.sock

Se il problema persiste, dopo l'installazione, basta semplicemente arrestare il daemon docker come,

$ sudo service docker stop

E, esegui il comando seguente per avviare il demone in background,

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

Per semplificare il lavoro con Docker, è necessario aggiungere il nome utente al gruppo di utenti Docker. L'aggiunta di un utente al gruppo può essere eseguita con il comando seguente

$ sudo usermod -aG docker $USER

Inoltre, questo passaggio è menzionato nella documentazione ufficiale dei passaggi post-installazione della finestra mobile per Linux ( https://docs.docker.com/engine/installation/linux/linux-postinstall/ )

Gli utenti di Ubuntu 16.04 possono seguire questi passaggi,

Modifica del file interno /lib/systemd/system/docker.service : ExecStart = / usr / bin / dockerd fd: // con ExecStart = / usr / bin / dockerd -H tcp: //0.0.0.0: 2375

Modifica del file interno /etc/init.d/docker :

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

e quindi riavviare il computer. E inizia a giocare con la finestra mobile.


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

1
Sto eseguendo
Redhat

Oh scusami. Caratteri extra (), aggiornati. Quale versione di RHEL? Controlla semplicemente quale valore ottieni con $ DOCKER_HOST?
mohan08p,

$ sudo systemctl abilita la finestra mobile per avviare il servizio finestra mobile al momento dell'avvio.
mohan08p,

Sto ora cercando di installare Docker su CentOS Linux release 7.3.1611 (Core)... Ma ora l'errore è 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.... posso aggiornare il kernel usando yum update kernel... ???? domanda è, eliminerà tutto sul mio server? è un server live con un sito Web in esecuzione su di esso, non voglio rovinare tutto.
Umair Ayub,

9

Questo di solito si verifica se non si è arrestato la finestra mobile probabilmente.

Risolvere

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

quindi "docker run ...." per scaricare l'immagine e avviare il contenitore come al solito


8

Ho appena colpito questo dopo aver fatto una nuova installazione di DOCKER dai documenti principali. Il problema per me era che immediatamente dopo l'installazione, il servizio non è in esecuzione.

Questi comandi ti aiuteranno ad accertarti che la finestra mobile sia attiva e funzionante affinché il tuo comando run lo trovi:

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

7

Sto correndo su root e ho provato di seguito, ha funzionato:

service docker start

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

3
Se funziona sul tuo host, allora non hai una password di root. Chiunque abbia accesso a quella porta può eseguire comandi come root sul tuo host.
BMitch

6

Ho avuto questo problema dopo aver chiuso la finestra mobile tirando un contenitore docker pull mongo. All'inizio stavo ricevendo strani errori, quindi ho rimosso la finestra mobile sudo apt-get purge docker.ioe reinstallato sudo apt-get install docker.io... tutto ciò non ha fatto nulla. Non riuscivo nemmeno a gestire il container ciao-mondo. La soluzione corretta per me almeno era:

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

Dopo questo ho potuto tirare mongo e correre il mondo ciao.

Saluti!


Ho dovuto farlo con Sudo su Ubuntu 18.04
Basanth il


2

usalo nell'esportazione ubuntu DOCKER_HOST = tcp: // localhost: 2375


Se funziona sul tuo sistema, allora non hai una password di root. Chiunque abbia accesso a quella porta può eseguire comandi come root sull'host.
BMitch

2

export DOCKER_HOST = tcp: // localhost: 2375 è perfetto per chiunque non abbia accesso sudo e l'utente non abbia accesso a unix: ///var/run/docker.sock


Questo è utile anche per chiunque non abbia normalmente accesso root ma vorrebbe diventare facilmente root sul tuo host. Chiunque abbia accesso a quella porta può eseguire comandi come root.
BMitch

@BMitch cura di elaborare?
Fran Marzoa,

@FranMarzoa di un altro utente di cui non ti fidi, o anche di un altro host, puoi eseguire qualsiasi docker runcomando con l'utente root all'interno del contenitore, privilegiato, con spazi dei nomi host su pid e rete e montare il filesystem di root nella casella.
BMitch

2

Stavo cercando di eseguire la finestra mobile (appena installata) in un'istanza di AWS quando appare il messaggio. Scrivo sudo service docker starte funziona bene per me.

Vedi anche AWS con Docker


2

inserisci qui la descrizione dell'immagine

Ho semplicemente dimenticato di eseguire Docker Desktop sul mio mac, dopo aver eseguito Docker Desktop, sarai a posto.


2

Questa eccezione si verifica quando il servizio di finestra mobile non è in esecuzione o l'utente che ha effettuato l'accesso non dispone dell'autorizzazione per accedere alla finestra mobile e generalmente viene fornito in RedHat

L'uso del comando seguente dovrebbe risolvere il problema

inizio della finestra mobile di servizio sudo

inserisci qui la descrizione dell'immagine



1

Ho avuto lo stesso problema per il nodo in esecuzione di gitlab CI: lts image:

  • Ho appena riavviato il demone docker e riavviato il contenitore, ha funzionato per me.

1

Questo ha funzionato per me, potrebbe funzionare anche per te se stai usando Ubuntu 16 o 18 (anche 14 potrebbero funzionare). Facile da provare:

Vai a Ubuntu Software, digita Docker. Disinstallare la finestra mobile (108 mb) se è preinstallato lì. Installa finestra mobile Ora esegui i comandi e vedi se arriva lo stesso errore

L'errore:

inserisci qui la descrizione dell'immagine

Dopo aver eseguito i passaggi precedenti. inserisci qui la descrizione dell'immagine

Come puoi vedere, ha funzionato :)


1

Ho riscontrato lo stesso problema su Linux quando ho installato la finestra mobile usando yum (finestra di installazione yum).

Soluzione: scaricare il file binario della finestra mobile dal sito ufficiale: installazione della finestra mobile , decomprimere e seguire i passaggi di installazione.


1

Nessuna delle risposte correnti ha funzionato per la mia versione di questo errore. Sto usando la versione desktop di Ubuntu 18. I seguenti due comandi hanno risolto il problema.

sudo snap connect docker:home :home

sudo snap start docker


0

Per me la soluzione era semplicemente assicurarmi di aver installato il pacchetto Docker corretto. Ad esempio, per Ubuntu i pacchetti ammortizzati sono:

  • scaricatore di porto
  • finestra mobile-motore
  • docker.io
  • containerd
  • Runc

Per l'installazione, consultare https://docs.docker.com . Le istruzioni sono fornite per Ubuntu , CentOS , Debian e Fedora al momento della scrittura.


Hai perso alcuni passaggi: segui questo link per firmare il repository. medium.com/@sebagomez/…
Robert

@Robert, sopra mi riferisco anche al docs.docker ufficiale per ottenere la chiave PGP. Questo è più sicuro degli utenti che lo copiano da questo sito o supporto.
RikH,

Ho provato i passaggi di Ubuntu e quelli non funzionano. Hai bisogno del processo di firma e del link che ho fornito.
Robert

@Robert, grazie ho rimosso le mie istruzioni incomplete e invece mi riferisco solo alla documentazione ufficiale.
RikH,

0

Assicurati che le informazioni in questo percorso /etc/docker/daemon.json

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

Elimina

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

e funziona bene inserisci qui la descrizione dell'immagine



0

Uso docker start <your_container_name>

Quindi connettersi al database utilizzando mssql -u <yourUsername> -p <yourPassword>

Se viene visualizzato un errore nel primo passaggio, la finestra mobile è in esecuzione e procedere con il secondo passaggio.

Nota: utilizzo Mac come sistema operativo principale e questa potrebbe essere la stessa risposta per i sistemi operativi basati su Unix. Altrimenti! Scusa in anticipo.


0

Ho anche ricevuto il seguente messaggio di errore, dopo aver installato la finestra mobile e aver eseguito: docker run hello-world

Impossibile connettersi al demone Docker su unix: /var/run/docker.sock. Il daemon docker è in esecuzione?

Ecco una soluzione, ciò che ha funzionato per me. Ambiente - Windows 10 (Non dimenticare di abilitare su Windows: Impostazioni> Aggiornamento e sicurezza> Modalità sviluppatore) - Ubuntu 18.04 LTS - Docker Desktop versione 2.3.0.2 (45183) - Abilita in Docker Desktop: esponi demone su tcp: // localhost: 2375 senza TLS - Anche Docker Desktop deve essere in esecuzione (connesso all'hub Docker ... basta accedere)

Dopo aver installato Ubuntu, aggiorna il repository

sudo apt-get update

Per utilizzare un repository su HTTPS

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

Aggiungi la chiave GPG Docker ufficiale:

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

Assicurati di avere ora la chiave con l'impronta digitale

impronta digitale sudo apt-key 0EBFCD88

Aggiorna il repository

sudo apt-get update

Aggiorna il repository docker

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

Aggiorna di nuovo il repository

sudo apt-get update

Comando per installare la finestra mobile nella versione: 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

Comando per impostare DOCKER_HOST

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

Nota: inserisci il comando sopra nel tuo profilo per iniziare con ubunto ex: echo "export DOCKER_HOST = 'tcp: //0.0.0.0: 2375'" >> ~ / .bashrc

Aggiungi utente al gruppo finestra mobile

sudo usermod -aG docker $ USER

Riavvia Ubuntu

(Chiudi e apri di nuovo la finestra di Ubuntu)

Test dell'installazione (NON utilizzare più sudo prima dei comandi docker (genererà un errore), l'utente "root" è già stato incluso nel gruppo docker)

docker run ciao-mondo

Il seguente messaggio dovrebbe essere visualizzato

Ciao da Docker! Questo messaggio mostra che l'installazione sembra funzionare correttamente.

Nota: se non riesce, eseguire nuovamente il comando: export DOCKER_HOST = "tcp: //0.0.0.0: 2375"

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

Riferimento: https://docs.docker.com/engine/install/ubuntu/ Sessione: INSTALL DOCKER ENGINE

Per altre versioni della finestra mobile che possono essere installate con Ubuntu, consultare il repository usando il comando seguente:

apt-cache madison docker-ce

Quindi installare la versione desiderata della finestra mobile:

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


0

Per tutti coloro che hanno problemi con Docker al momento dell'installazione.

Un errore che indica un errore nel servizio finestra mobile, eseguire i comandi seguenti.

$ 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

Questo problema può essere risolto permanentemente eseguendo 1. systemctl enable docker 2. service docker start


Sembra che debba avviare il servizio docker service start dockerogni volta che riavvio il computer.
Pran Kumar Sarkar,

@PranKumarSarkar Non se si esegue "sudo systemctl enable docker"
GabrielBB
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.