Javítás: Nem lehet csatlakozni a Docker démonhoz



Próbálja Ki A Műszerünket A Problémák Kiküszöbölésére

Nagyon zavart lehet, ha egy Linux-terminál a „nem tud csatlakozni a Docker-démonhoz” hibát dob ​​rád, mert valószínűleg a Docker-démon már fut, amikor ezt látja. Bár biztosítani akarja, hogy így van, valószínűleg zavart lesz, amikor megtudja, hogy ez a hiba még csak nem is kapcsolódik a szolgáltatás elindulásához. Leginkább azokra a felhasználókra vetik rá, akik nem vették fel magukat a Docker csoportba.



A Docker külön felhasználói csoportot bocsát ki a Linux rendszereken, és azok, akiknek felhasználói fiókja nincs hozzáadva, nem tudnak csatlakozni hozzá. Ne feledje, hogy egy felhasználói fiók hozzáadása a Docker csoporthoz funkcionálisan root egyenértékű, mivel a démon mindig root felhasználóként fut. Erre számítani lehet egyfelhasználós Ubuntu Server rendszeren, de mindenképpen érdemes szem előtt tartani azokat, akik az Arch, Fedora vagy Debian rendszeren futtatják a Dockert.



1. módszer: A Docker szolgáltatás állapotának ellenőrzése

Bár szinte biztosan így van, ellenőriznie kell, hogy a Docker szolgáltatás fut-e jelenleg. A terminál ablakán futtasson systemctl állapot dokkoló.szolgáltatás mint normális felhasználó. Tudnia kell arról, hogy a Docker démonja melyik PID számot kapta. Ha nem, akkor újra kell indítania a szolgáltatást.



Ha újraindította volna, próbálja meg megtenni azt, ami a „nem tud csatlakozni a Docker démonhoz” hibát dobott el. Ha most működik, akkor csak nem futott a szolgáltatás, és nem igazán kell aggódnia más miatt, azon kívül, hogy nem fut. Sajnos ez az esetek többségében nem működik, ezért ezekben a helyzetekben tovább kell lépnie.

2. módszer: Felhasználók hozzáadása a Docker csoporthoz

Fuss dokkoló info parancssorból, amely rendszerint ismét a „nem lehet csatlakozni a Docker démonhoz” hibát jelzi.

Ha ez a helyzet, akkor futtatnia kell sudo groupadd dokkoló; sudo usermod -aG docker $ USER hogy felvegye magát a megfelelő csoportba. Ha ez hibát okoz, mert nincs felhasználói módja, módosíthatja a parancsot, hogy futtassa sudo groupadd dokkoló; sudo gpasswd -a $ USER dokkoló , de ez általában nem lehet kérdés, mert a legtöbb kereskedelmi szintű Linux disztribúció ugyanazokkal az eszközökkel dolgozik. Mindenesetre fuss newgrp dokkoló így bejelentkezhet az új dokkolócsoportba, ha még nem.



Ne feledje, hogy ez mindig hozzáadja a felhasználót, amellyel jelenleg be van jelentkezve, ami nem okozhat túl nagy problémát a legtöbb ember rendszerében, akiknek nincs több fiókja az egy felhasználó és a root fiók mellett. Mivel egyelőre adminisztrátori hozzáféréssel rendelkezik, futtassa sudo chgrp docker / usr / bin docker; sudo chgrp docker /var/run/docker.sock a dokkolóaljzat és a parancs engedélyeinek kijavításához. Általában a socket fájl csak a root felhasználóé, tehát ez kijavítja ezt.

A futtatás után nem okozhat gondot, mert most ugyanahhoz a csoporthoz tartozik, amelyet az előző parancsban létrehozott. Tesztelnie kell, hogy a dokkoló sudo nélkül fut-e, de írja be dokkoló fuss hello-world rendszeres felhasználóként, hogy megbizonyosodjon arról, hogy nem kap-e egyéb hibát.

Ezen a ponton még mindig nagyon kevés felhasználó kap bármilyen hibaüzenetet. A legtöbb dolgot ezen a ponton javítani kell, de ha továbbra is problémái vannak, érdemes teljesen kijelentkeznie. Próbáljon meg megnyitni egy másik terminálemulátor ablakot, de ha ez nem működik, néha segít a rendszer teljes újraindításában, ha ez egyáltalán megvalósítható

3. módszer: ACL használatával módosíthatja a Docker metaadatait

Ha nem akar olyan csoporthoz tartozni, amely root felhasználóként szeret téged, akkor beállíthatja, hogy a socket fájl csak bizonyos engedélyekkel működjön. Hagyhatja figyelmen kívül a gpasswd folyamatot, ha ezt inkább így szeretné megtenni. Meg kell vizsgálnia a fájlrendszert a különböző ACL-bejegyzések után a biztonsági ellenőrzést végzők számára, de ez megakadályozza, hogy teljes mértékben a dokkolócsoportot használja.

Ha így akarja csinálni, akkor futhat sudo setfacl -m felhasználó: név: rw /var/run/docker.sock miközben a felhasználót és a nevet a megfelelő címkékkel helyettesíti. Ez engedélyt ad a /var/run/docker.sock címen található Docker aljzat elérésére, amelynek a Debian és az Ubuntu Server használatával együtt kell működnie.

3 perc olvasás