Nedávno jsem nainstaloval Docker na Ubuntu. Bylo to super snadné. Ale když jsem se pokusil spustit příkaz docker, vyhodilo mi to tuto chybu:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/json: dial unix /var/run/docker.sock: connect: permission denied
Není to tak, že bych se snažil provozovat něco speciálního. Stává se to i pro základní příkaz docker, jako je ps.
Zvláštní, že? Dovolte mi, abych vám ukázal, jak tuto otravnou chybu překonat.
Oprava „Došlo k odepření povolení při pokusu o připojení k chybě soketu démona Docker pomocí Dockeru v Ubuntu
Existují dva způsoby, jak se s tím vypořádat.
Oprava 1:Spouštění všech příkazů dockeru pomocí sudo
Pokud máte ve svém systému přístup sudo, můžete každý příkaz dockeru spustit pomocí sudo a již neuvidíte toto „Při pokusu o připojení k soketu démona Dockeru bylo odepřeno oprávnění“.
sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
13dc0f4226dc ubuntu "bash" 17 hours ago Exited (0) 16 hours ago container-2
2d9a8c190e6c ubuntu "/bin/bash" 17 hours ago Created container-1
Ale spouštění každého příkazu dockeru pomocí sudo je velmi nepohodlné. Chybí vám přidání sudo na začátek a znovu se vám zobrazí chyba „povolení odepřeno“.
Oprava 2:Spouštění příkazů dockeru bez sudo
Chcete-li spouštět příkazy docker bez sudo, můžete přidat svůj uživatelský účet (nebo účet, pro který se pokoušíte tento problém vyřešit) do skupiny docker.
Nejprve vytvořte skupinu dockerů pomocí příkazu groupadd. Skupina již může existovat, ale spuštění příkazu pro vytvoření skupiny nebude bolet.
sudo groupadd docker
Nyní, když máte skupinu dockerů, přidejte svého uživatele do této skupiny pomocí příkazu usermod. Předpokládám, že se to pokoušíte udělat pro svůj vlastní uživatelský účet a v takovém případě můžete použít proměnnou $USER.
sudo usermod -aG docker $USER
Ověřte, zda byl váš uživatel přidán do skupiny ukotvitelných panelů, uvedením uživatelů skupiny. Pravděpodobně se budete muset odhlásit a znovu přihlásit .
[email protected]:~$ groups
abhishek adm cdrom sudo dip plugdev lpadmin sambashare docker
Pokud zkontrolujete, že vaše skupiny a skupiny dockeru nejsou uvedeny ani po odhlášení, možná budete muset restartovat Ubuntu . Abyste tomu zabránili, můžete použít příkaz newgrp liks this:
newgrp docker
Pokud nyní zkusíte spustit příkazy dockeru bez sudo, mělo by to fungovat dobře.
Další odstraňování problémů
V některých případech může být nutné přidat další oprávnění k některým souborům, zvláště pokud jste v minulosti spouštěli příkazy docker pomocí sudo.
Můžete zkusit změnit skupinové vlastnictví souboru /var/run/docker.sock.
sudo chown root:docker /var/run/docker.sock
Můžete také zkusit změnit skupinové vlastnictví adresáře ~/.docker.
sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R
A pak zkuste spustit docker pomocí sudo. Mělo by to být v pořádku.
Doufám, že vám tento malý tutoriál pomohl opravit nepříjemné „Při pokusu o připojení k soketu démona Dockeru na adrese unix:///var/run/docker.sock jsem odepřel oprávnění:Získejte http://%2Fvar%2Frun %2Fdocker.sock/v1.39/containers/json:vytočit unix /var/run/docker.sock:připojit:oprávnění odepřeno ” chyba s Dockerem v Ubuntu.
Vyřešilo to problém za vás? Pokud ano, uvítám od vás rychlý komentář s poděkováním. Pokud ne, rád vám pomohu tento problém dále vyřešit.