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:
- Bunuh buruh pelabuhan
[email protected]:~# killall dockerd [email protected]:~# ps -aux | grep dockerd [email protected]:~# kill -9 your docker pid
- Hapus docker ce, cli, dan container.io
[email protected]:/home/xyz# apt remove docker-ce docker-ce-cli containerd.io
- 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
- periksa versi sebelumnya:
[email protected]:/home/xyz# apt-cache madison docker-ce
- 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
- 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
- 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