[DÜZELTME] 'unix: ///var/run/docker.sock' adresindeki Docker Daemon'a Bağlanamıyor

komutu aşağıda açıklandığı gibi.



Not: Bu yöntem yalnızca Docker'ı APT paket yöneticisiyle kuran kullanıcılar için çalışır. Docker'ı üzerinden kurduysanız SNAP bakın 5.Çözüm altında.

  1. Terminali açın ve ilk komutu çalıştırın - maskesini kaldırmak docker .
sudo systemctl maskesini kaldırma penceresi

Docker maskeli iken docker servisini başlatmaya çalışırsak, hatayla karşılaşabiliriz'Docker.service başlatılamadı: Birim maskelenmiş.'Maske, devre dışı bırakmanın daha sağlam bir versiyonu olarak düşünülebilir. Bir birim dosyası maskelendiğinde, birim'Dev / null. 'Tüm birim dosyalarının durumunu -' komutuyla listeleyebilirsiniz. $ systemctl liste-birim dosyaları '



2. Docker birimi bir kez maskesiz , yapabiliriz liman işçisini başlat arka plan programı systemctl komutu ile. liman işçisi arka plan programı Images, Containers ve Docker API istekleri gibi docker nesnelerini yönetir. Komut satırında aşağıdaki komutu yürütün.



systemctl başlangıç ​​penceresi
Docker Hizmetini Başlat

Docker Hizmetini Başlat



3. Kime Doğrulayın Docker hizmeti olup olmadığı aktif ve çalışıyor . Kullanacağız systemctl durumu belirli bir hizmetin mevcut durumunu gösteren komut. Terminalinizde aşağıdaki komutu yürütün.

systemctl durum penceresi
Docker hizmet durumu

Docker hizmet durumu

Yukarıdaki görüntüden bunu görebiliriz Docker aktif ve çalışıyor .



2.Çözüm: 'Başarısız Docker Çekişi' ni temizleyin ve Docker hizmetini başlatın

Bir konteyner çekerken beklenmedik şekilde Docker'ı kapatabileceğiniz durumlar vardır. Bu tür durumlar docker.service ve docker .socket Dosyalar. Docker.socket, ‘/var/run/docker.sock 've Docker daemon ile iletişim kurmak için kullanılır. İhtiyacımız olacak maskesini kaldırmak iki birimli dosyalar - önce docker .service ve docker.daemon ilerleyen -e docker'ı başlatın.

  1. Başlat terminal ve yürütmek komutlar altında:
systemctl maskesini kaldır docker.service systemctl docker.socket systemctl start docker.service
Docker Hizmetini Başlat

Docker Hizmetini Başlat

Aşağıdaki komutları uyguladıktan sonra bile hala hatayı yaşıyorsanız, biz sil içindeki dosyalar Containerd Docker'ı yeniden başlatmadan önce dizin. Containerd, Docker 1.11'de sunulan bir özellikti ve Docker görüntülerinin yaşam döngüsünü yönetmek için kullanılır.

2. Terminal'i açın ve aşağıdaki komutları uygulayın. Bildiğinizden emin olun root şifresi çünkü komutları yürütmek için yükseltilmiş ayrıcalıklara ihtiyacımız olacak.

sudo su service docker stop cd / var / run / docker / libcontainerd rm -rf containerd / * rm -f docker-containerd.pid service docker start
Docker hizmetini yeniden başlatın

Docker hizmetini yeniden başlatın

3. Çözüm: Dockerd (Docker Daemon) Hizmetini Başlatın

Dockerd, Docker API'lerini dinleyen ve çeşitli Docker nesnelerini yöneten Docker daemonudur. Dockerd, 'komutuna alternatif olarak kullanılabilir $ systemctl docker'ı başlat Docker daemon'u başlatmak için de kullanılır.

  1. Açık terminal ve dockerd'i başlat aşağıdaki komutu yürüterek:
sudo dockerd
Dockerd

Dockerd'i başlat

4.Çözüm: Docker'ı Service komutuyla başlatın

Eğer kullanıyorsanız SysV başlatma sistemi , o zaman systemctl komutu sizin için çalışmayacaktır. Kullanmamız gerekecek servis komutu -e docker daemon'u başlat .

  1. Terminali başlatın ve yürütmek aşağıdaki komutlar:
sudo service --status-all sudo service docker start
Docker hizmetini başlatın

Docker hizmetini başlatın

5. Çözüm: Docker Hizmetini Snap ile Başlatın

Docker'ı Paket yöneticisini yapıştır docker daemon'u yönetmek için snap komutunu kullanmanız gerekir.

Snap, genellikle hizmetlerini otomatik olarak yönetir. Ancak bu hata gibi durumlarda manuel müdahale gerekecektir. Snap komutuyla kullanabileceğiniz argümanlardan bazıları stop, start ve restart içerir. Bizim durumumuzda başlangıç ​​parametresini kullanacağız.

  1. Terminal'i açın ve aşağıdaki komutu çalıştırın. Docker'ı başlat .
sudo snap başlangıç ​​penceresi
Docker

Docker'ı başlatın

2. Aşağıdaki komutu yürütün Doğrulayın olup olmadığını Docker hizmeti başlatıldı.

sudo snap hizmetleri

Bu olacak liste hepsi koşuyor anlık hizmetler .

Snap Hizmetleri

Snap Hizmetleri

Yukarıdaki komutlar işinize yaramazsa, deneyin Docker'ı bağlamak: ev fişi varsayılan olarak otomatik bağlanmadığından. Bir kez yapıldığında, Başlat Docker hizmeti .

3. Terminal'i başlatın ve aşağıdaki komutları çalıştırın:

sudo snap connect docker: home: home sudo snap başlangıç ​​docker
Docker

Docker'ı başlatın

6.Çözüm: Root P'siz kullanıcılar için Docker'ı başlatın nehirler

Hata ayrıca şu nedenlerle ortaya çıkabilir: yüksek ayrıcalıkların olmaması ve kullanıcının 'unix: ///var/run/docker.sock'a erişimi yok. Neyse ki bir çözüm var. Docker Host değişkenini localhost'a 2375 numaralı bağlantı noktası üzerinden aktaracağız.

  1. Terminali açın ve aşağıdaki komutu çalıştırın:
dışa aktar DOCKER_HOST = tcp: // localhost: 2375
DockerHost

Docker Ana Bilgisayarını Dışa Aktar

7. Çözüm: Docker'ı yeniden yükleyin

Yukarıdaki çözümler hatayı çözmezse, büyük olasılıkla kurulum hataları yaşama olasılığınız vardır. Docker'ı Linux sisteminize doğru şekilde kurmak için aşağıdaki adımları izleyin. Docker resmi web sitesi .

4 dakika okundu