Keluarkan semua bahan berdasarkan nama gambar Docker

Keluarkan semua bahan berdasarkan nama gambar Docker

Soalan:
Bagaimana saya boleh mengeluarkan semua bekas docker berdasarkan nama gambar docker. Saya tidak mahu mengeluarkan semua bekas yang ada, hanya yang berdasarkan imej tertentu. Contohnya saya ingin mengeluarkan semua bekas berdasarkan gambar Centos: 7.

Jawapan:
Untuk membuang semua bekas Docker berdasarkan Centos: 7 Jalankan arahan Linux berikut:

# Docker PS -A | awk 'print $ 1, $ 2' | Grep Centos: 7 | awk 'print $ 1' | xargs -i  docker rm  

Penjelasan senaman dan paip penuh boleh didapati di bawah.

Pertama, kita perlu mendapatkan semua ID kontena:

# docker ps -a container Id image Command created status port Nama 16ef47387cbd fedora: 21 "/bin/bash" 5 jam yang lalu keluar (0) 5 jam yang lalu romantis_heisenberg 6ae3e3870739 centos: 7 "/bin/bash" 5 jam yang lalu (0 ) 5 jam yang lalu Clever_Rosalind effd4037ab74 centos: 7 "/bin/bash" 5 jam yang lalu keluar (0) 5 jam yang lalu backstabbing_almeida 72c89af47615 debian: 8 "/bin/bash" 5 jam yang lalu keluar (0) 8 "/bin/bash" 5 jam yang lalu keluar (0) 5 jam yang lalu COCKY_YONATH F060A5BFDB11 DEBIAN: 8 "/bin/bash" 5 jam yang lalu keluar (0) 5 jam yang lalu Insane_Galileo 

Untuk mengelakkan kekeliruan antara imej dan nama kontena yang kita boleh simpan sahaja ID kontena dan GAMBAR Lajur:



# Docker PS -A | AWK 'Print $ 1, $ 2' ID kontena 16EF47387CBD Fedora: 21 6AE3E3870739 Centos: 7 Effd4037AB74 Centos: 7 72C89AF47615 Debian: 8 195C78F3B0B 

Seterusnya, kita boleh menaip output di atas ke grep perintah untuk menapis hanya bekas yang berdasarkan nama imej tertentu. Contohnya mari kita menapis semua bekas berdasarkan Centos: 7 gambar:

# Docker PS -A | awk 'print $ 1, $ 2' | Grep Centos: 7 6AE3E3870739 CentOS: 7 EFFD4037AB74 CentOS: 7 

Pada ketika ini kita hanya berminat ID kontena:

# Docker PS -A | awk 'print $ 1, $ 2' | Grep Centos: 7 | awk 'cetak $ 1' 6AE3E3870739 EFFD4037AB74 

Terakhir, kita boleh menggunakan Xargs dan keluarkan ID bekas yang tinggal:

# Docker PS -A | awk 'print $ 1, $ 2' | Grep Centos: 7 | awk 'print $ 1' | xargs -i  docker rm  6AE3E3870739 EFFD4037AB74 

Tutorial Linux Berkaitan:

  • Contoh bagaimana menggunakan arahan Xargs di Linux
  • Xargs untuk pemula dengan contoh
  • Xargs pelbagai threaded dengan contoh
  • Cara betul -betul mengasyikkan teks dalam skrip bash
  • Contoh Bash Kompleks Linux
  • Pengurusan senarai proses dan penamatan proses automatik
  • Cara Gunung ISO di Linux
  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Manipulasi data besar untuk keseronokan dan keuntungan bahagian 2
  • Cara menamakan semula pelbagai fail di linux