GNU/Linux >> Belajar Linux >  >> Linux

Perintah Docker menggantung tanpa respons

https://forums.docker.com/t/what-to-do-when-all-docker-commands-hang/28103/4Oleh korayhk:

Anda tidak perlu menginstal ulang atau menghapus data image container. Cukup lakukan di bawah ini :

Hentikan layanan terlebih dahulu

sudo service docker stop

Bersihkan beberapa file seperti yang disebutkan dalam postingan di atas dari Sam.

sudo rm -rf /var/run/docker
sudo rm /var/run/docker.*"

Mulai layanan sekarang

sudo service docker start

Mulai gambar buruh pelabuhan Anda

docker start <container-name>

Anda akan menerima pesan kesalahan saat Anda menjalankan docker run pada percobaan pertama:

Respons galat dari daemon:nilai bidang tajuk tidak valid "kesalahan runtime oci:wadah dengan id ada:7a244b8f5d07081538042ff64aebfe11fac1a36731526e77be53db7d94dca44d\n"Kesalahan:gagal memulai wadah:

Coba jalankan perintah docker start lagi. Wadah Anda akan aktif dan berjalan secara ajaib tanpa kesalahan apa pun.


Setelah memperbarui ubuntu saya ke 5.8.0-34-generic . Saya memiliki masalah serupa. setelah berbagai upaya untuk menyelesaikannya, solusi terakhir saya adalah menurunkan versi buruh pelabuhan ke versi kerja sebelumnya. Langkah-langkahnya seperti di bawah ini:

  1. Bunuh buruh pelabuhan
[email protected]:~# killall dockerd
[email protected]:~# ps -aux | grep dockerd
[email protected]:~# kill -9 your docker pid
  1. Hapus docker ce, cli, dan container.io
[email protected]:/home/xyz# apt remove docker-ce docker-ce-cli containerd.io
  1. langkah opsional:dockerd saya terus-menerus memulai ulang jadi saya harus menonaktifkan ir. Jika Anda melakukan hal yang sama. Anda harus mengaktifkannya setelah instalasi baru:
systemctl disable docker
  1. periksa versi sebelumnya:
[email protected]:/home/xyz# apt-cache madison docker-ce
  1. pasang versi lama dari daftar di atas, dalam kasus saya, docker-ce 5:19.03.13~3-0~ubuntu-focal :
[email protected]:/home/xyz# apt install docker-ce=5:19.03.13~3-0~ubuntu-focal
  1. opsional:jika Anda perlu menurunkan versi containerd.io dan juga cli, maka:
apt install docker-ce=5:19.03.13~3-0~ubuntu-focal containerd.io=1.3.9-1 docker-ce-cli=5:19.03.13~3-0~ubuntu-focal
  1. periksa instalasi Anda:
whereis docker

systemctl status docker

Juga, tandai buruh pelabuhan saya untuk tidak memutakhirkan pada apt upgrade perintah.


Saya mencoba kedua jawaban dari Garreth dan steamfood, tetapi tidak ingin menginstal ulang buruh pelabuhan seperti yang disarankan Invincible. Saya tidak mengubah apa pun di sistem saya, jadi saya pikir masalahnya ada pada pengaturan konfigurasi/kontainer saya daripada masalah penginstalan dengan buruh pelabuhan itu sendiri.

Saat menjalankan systemctl start docker atau apa pun untuk memulai atau menghentikan layanan buruh pelabuhan, saya mendapatkan ini di log saya (menjalankan systemctl status docker di terminal lain):

Loading containers: start.

Container ef06fbb157169332c453f503bb2543ce914daf54600f8fa44699fa5833d9eb90 failed to exit

Itu akan menggantung setelah titik ini.

Untuk memperbaikinya, pertama-tama saya mematikan proses yang diidentifikasi dalam systemctl status docker dengan sudo kill -9 $PID .

Saya kemudian menghapus semuanya di /var/lib/docker/containers dengan sudo rm -rf /var/lib/docker/containers/* .

Ini membersihkan penampung yang bermasalah dan semuanya berfungsi sejak saat itu.


Saya tahu pertanyaan ini agak lama, tetapi untuk memperbaikinya, coba hapus konten:

/var/run/docker/libcontainerd

Linux
  1. Beberapa Perintah DOCKER

  2. Jalankan Baris Perintah Dengan Satu Sudo?

  3. Mengapa Bash Tidak Menyimpan Perintah yang Dimulai Dengan Spasi?

  1. 5 perintah Linux yang akan saya mulai gunakan

  2. Proses Waktu Mulai Dengan Zona Waktu?

  3. Tidak dapat memulai Layanan Docker di Ubuntu 16.04

  1. Apa itu Git Bash; Bekerja dengan Perintah Git Bash

  2. Mulai Layanan Secara Otomatis di Docker Container

  3. Jalankan dua perintah dengan docker exec