Úvod
Pro nové uživatele Dockeru může být jeho používání obtížné, protože se často setkávají s problémem hned po jeho instalaci. „Nelze se připojit k démonu Docker“ k chybě v Dockeru obvykle dochází při spuštění docker-compose build
příkaz.
V tomto tutoriálu si projdeme možné příčiny „nelze se připojit k démonu Docker“ chyba a způsoby, jak ji vyřešit.
Předpoklady
- Přístup k příkazovému řádku nebo terminálu
- Funkční instalace Dockeru
Řešení chyby „nelze se připojit k démonu Docker“
Existuje několik způsobů, jak opravit „nelze se připojit k démonu Docker“ chyba. Pokud pro vás jedno řešení nefunguje, přejděte k další metodě, dokud problém nevyřešíte.
Metoda 1:Zkontrolujte Docker Engine
Pokud modul Docker neběží, docker-compose
k němu nemá přístup, což způsobí chybu.
1. Nejprve zkontrolujte, zda běží motor Docker:
sudo service docker status
2. Pokud modul Docker nefunguje, spusťte jej následujícím příkazem:
sudo service docker start
3. Po spuštění modulu Docker zkuste spustit docker-compose build
příkaz znovu. Pokud chyba přetrvává, zkuste jedno z následujících řešení.
Metoda 2:Přiřazení vlastnictví k Unix Socketu Docker
„Nelze se připojit k démonu Docker“ k chybě dojde také v případě, že soubor soketu Unix pro Docker nemá přiřazeno správné vlastnictví.
1. Zkontrolujte vlastnictví soketu Docker Unix:
sudo ls -la /var/run/docker.sock
2. V případě potřeby udělte vlastnictví uživatele pomocí:
sudo chown [username]:docker /var/run/docker.sock
Metoda 3:Zkontrolujte vlastnictví použitých souborů
Problémy s vlastnictvím se mohou rozšířit i na soubory používané vaším sestavením Dockeru. Pokud Docker potřebuje použít soubor, ke kterému nemá přístup, bude to mít za následek „nelze se připojit k démonu Docker“ chyba.
1. Spusťte docker build
příkaz pro každý jednotlivý kontejner. Získáte tak podrobný výstup, který upozorní na případné chyby.
2. Zkontrolujte výstup pro každý kontejner a sledujte, zda se „nelze připojit k démonu Docker“ chybové hlášení. Pokud dojde k problému s vlastnictvím souboru, v chybovém hlášení budou uvedeny soubory, které docker build
příkaz nemá přístup.
3. Existuje několik způsobů, jak vyřešit problém vlastnictví použitých souborů:
- Dotyčné soubory můžete jednoduše odstranit jejich smazáním, ale ovlivní to všechny ostatní sestavení používající stejné soubory.
- Další metodou je přidání
.dockerignore
soubor do aktuálního sestavení, čímž se vyloučí soubory, ke kterým vaše sestavení nemá přístup. - Nakonec můžete změnit vlastnictví souboru pomocí:
sudo chown [username]:docker /your/file/location
Metoda 4:Přidejte svého uživatele do Docker Group
Chyba také způsobí, že nemáte správná uživatelská oprávnění. Musíte mít přístup k enginu Docker bez použití sudo
příkaz.
1. Chcete-li tento problém vyřešit, přidejte aktuálního uživatele do skupiny Docker pomocí příkazu usermod:
sudo usermod -aG docker [username]
2. Odhlaste se a znovu přihlaste pro potvrzení změn.
Metoda 5:Přidání tabulek prostředí na OS X
Pokud používáte Docker v OS X, možná budete muset přidat proměnné prostředí:
1. Nejprve spusťte virtuální počítač Docker:
docker-machine start
2. Získejte proměnné prostředí pro Docker pomocí:
docker-machine env
3. Nakonec nastavte proměnné prostředí:
eval "$(docker-machine env default)"