[FIX] Tidak Dapat Menyambung ke Docker Daemon di ‘unix: ///var/run/docker.sock’

arahan seperti yang dinyatakan di bawah.



Catatan: Kaedah ini hanya berfungsi untuk pengguna yang memasang Docker dengan pengurus pakej APT. Sekiranya anda memasang Docker melalui SNAP , rujuk kepada Penyelesaian 5 di bawah.

  1. Buka Terminal dan laksanakan perintah pertama - buka dok dok .
sudo systemctl unmask docker

Sekiranya kita cuba memulakan perkhidmatan docker ketika docker bertopeng, kita mungkin menghadapi ralat'Gagal memulakan docker.service: Unit bertopeng.'Topeng boleh dianggap sebagai versi penyahaktifan yang lebih mantap. Apabila fail unit ditutup, unit dihubungkan ke‘Dev / null. 'Anda boleh menyenaraikan keadaan semua fail unit dengan arahan -' $ systemctl senarai-unit-fail '



2. Setelah unit docker berada tidak bertutup , kita boleh mulakan dok daemon dengan arahan systemctl. The tukang dok daemon menguruskan objek docker seperti permintaan Images, Container, dan Docker API. Laksanakan perintah di bawah pada baris perintah.



systemctl start dok
Mulakan Perkhidmatan Docker

Mulakan Perkhidmatan Docker



3. Ke mengesahkan sama ada perkhidmatan dok aktif dan berjalan . Kami akan menggunakan status systemctl arahan, yang menunjukkan status semasa perkhidmatan tertentu. Jalankan arahan di bawah di Terminal anda.

docker status systemctl
Status perkhidmatan Docker

Status perkhidmatan Docker

Dari gambar di atas, kita dapat melihatnya tukang dok aktif dan berjalan .



Penyelesaian 2: Bersihkan ‘Docker Pull Failed’ dan perkhidmatan Start Docker

Terdapat kes di mana anda secara tidak dijangka dapat menutup Docker semasa menarik bekas. Keadaan seperti itu akan menutupi dok.khidmat dan dok .soket fail. Docker.socket adalah fail yang terletak di ‘/var/run/docker.sock 'dan digunakan untuk berkomunikasi dengan daemon Docker. Kita perlu buka baju fail dua unit - docker .service dan docker.daemon sebelum ini meneruskan ke mula dok.

  1. Lancarkan Terminal dan melaksanakan arahan di bawah:
systemctl unmask docker.service systemctl unmask docker.socket systemctl start docker.service
Mulakan Perkhidmatan Docker

Mulakan Perkhidmatan Docker

Sekiranya anda masih mengalami ralat walaupun setelah menjalankan perintah di bawah ini, kami perlu padam fail di Kontena direktori sebelum memulakan Docker lagi. Containerd adalah ciri yang diperkenalkan di Docker 1.11 dan digunakan untuk menguruskan kitaran hidup gambar Docker.

2. Buka Terminal dan laksanakan perintah di bawah. Pastikan anda mengetahui kata laluan root kerana kita akan memerlukan hak istimewa yang tinggi untuk melaksanakan perintah.

sudo su service docker stop cd / var / run / docker / libcontainerd rm -rf containerd / * rm -f docker-containerd.pid service docker start
Mulakan semula perkhidmatan dok

Mulakan semula perkhidmatan dok

Penyelesaian 3: Mulakan Perkhidmatan Dockerd (Docker Daemon)

Dockerd adalah daemon Docker yang mendengar API Docker dan menguruskan pelbagai objek Docker. Dockerd dapat digunakan sebagai alternatif kepada perintah ' $ systemctl mula berlabuh 'Yang juga digunakan untuk memulai daemon Docker.

  1. Buka Terminal dan mula dokerd dengan melaksanakan arahan di bawah:
sudo dokerd
Mula dokerd

Mula dokerd

Penyelesaian 4: Mulakan Docker dengan arahan Perkhidmatan

Sekiranya anda menggunakan Sistem init SysV , maka arahan systemctl tidak akan berfungsi untuk anda. Kita perlu menggunakan arahan perkhidmatan ke mula daemon dok .

  1. melancarkan Terminal dan melaksanakan arahan di bawah:
perkhidmatan sudo --stock-all sudo service docker bermula
Mulakan perkhidmatan Docker

Mulakan perkhidmatan Docker

Penyelesaian 5: Mulakan Perkhidmatan Docker dengan Snap

Sekiranya anda memasang Docker dengan Pengurus pakej snap , anda perlu menggunakan perintah snap untuk menguruskan daemon docker.

Secara amnya, Snap menguruskan perkhidmatan mereka secara automatik. Walau bagaimanapun, dalam situasi seperti kesalahan ini, ia memerlukan campur tangan manual. Beberapa argumen yang boleh anda gunakan dengan perintah snap termasuk berhenti, mulakan dan mulakan semula. Dalam kes kami, kami akan menggunakan parameter permulaan.

  1. Buka Terminal dan jalankan arahan di bawah untuk mulakan Docker .
sudo snap start dok
Mulakan Docker

Mulakan Docker

2. Jalankan arahan di bawah untuk mengesahkan sama ada Perkhidmatan Docker dimulakan.

perkhidmatan snap sudo

Itu akan senarai semua berjalan perkhidmatan snap .

Perkhidmatan Snap

Perkhidmatan Snap

Sekiranya arahan di atas tidak berfungsi untuk anda, cuba menyambungkan docker: palam rumah kerana tidak disambungkan secara automatik secara lalai. Setelah selesai, mulakan yang Perkhidmatan dok .

3. Lancarkan Terminal dan jalankan arahan di bawah:

sudo snap connect docker: home: home sudo snap start docker
Mulakan Docker

Mulakan Docker

Penyelesaian 6: Mulakan Docker untuk pengguna tanpa Root P rivileges

Kesalahan mungkin juga timbul kerana kekurangan hak istimewa yang tinggi dan pengguna tidak mempunyai akses ke ‘unix: ///var/run/docker.sock.’ Nasib baik ada jalan penyelesaian. Kami akan mengeksport pemboleh ubah Docker Host ke localhost melalui port 2375.

  1. Buka Terminal dan jalankan arahan di bawah:
eksport DOCKER_HOST = tcp: // localhost: 2375
Eksport DockerHost

Eksport Docker Host

Penyelesaian 7: Pasang semula Docker

Sekiranya penyelesaian di atas tidak menyelesaikan ralat, ada kemungkinan besar kemungkinan anda mengalami ralat pemasangan. Untuk memasang Docker dengan betul dalam sistem Linux anda, ikuti langkah-langkah dari Laman web rasmi Docker .

4 minit membaca