Eliminar todos los contenidos basados en el nombre de la imagen de Docker
- 4282
- 1003
- Adriana Tórrez
Preguntas:
¿Cómo puedo eliminar todos los contenedores Docker en función del nombre de la imagen de Docker?. No deseo eliminar todos los contenedores disponibles, solo los que se basan en una imagen particular. Por ejemplo, me gustaría eliminar todos los contenedores en función de la imagen CentOS: 7
.
Respuesta:
Para eliminar todos los contenedores de Docker basados en CentOS: 7
Ejecute el siguiente comando Linux:
# Docker PS -A | Awk 'imprimir $ 1, $ 2' | Grep Centos: 7 | Awk 'imprimir $ 1' | xargs -i Docker RM
El entrenamiento completo y las explicaciones de la tubería se pueden encontrar a continuación.
Primero, necesitamos obtener todas las identificaciones de contenedor:
# Docker PS -A Comando de ID de ID de contenedor Nombres de puertos de estado creados 16EF47387CBD Fedora: 21 "/bin/bash" hace 5 horas salidas (0) hace 5 horas ) Hace 5 horas Clever_Rosalind Effd4037ab74 CentOS: 7 "/bin/bash" hace 5 horas salidas (0) hace 5 horas Backstabbing_almeida 72c89af47615 Debian: 8 "/bin/bash" hace 5 horas salidas (0) hace 5 horas berserk_pastur 195c78f3b0b de Debian: 8 "/bin/bash" hace 5 horas salidas (0) hace 5 horas Cocky_yonath f060a5bfdb11 Debian: 8 "/bin/bash" hace 5 horas salidas (0) hace 5 horas Insane_galileo
Para evitar la confusión entre la imagen y el nombre del contenedor, solo podemos mantener ID de contenedor
y IMAGEN
columnas:
# Docker PS -A | AWK 'imprima $ 1, $ 2' Contenedor ID 16EF47387CBD Fedora: 21 6AE3E3E3870739 Centos: 7 Effd4037ab74 CentOS: 7 72C89AF47615 Debian: 8 195C78F3EB0B DEBIAN: 8 F060A5BFDB11 DEBIAN: 8
A continuación, podemos llevar la salida anterior al grep
Comandar solo filtrar aquellos contenedores que se basan en un nombre de imagen determinado. Por ejemplo, filtremos todos los contenedores basados en CentOS: 7
imagen:
# Docker PS -A | Awk 'imprimir $ 1, $ 2' | GREP Centos: 7 6AE3E3870739 CentOS: 7 Effd4037ab74 CentOS: 7
En este punto solo estamos interesados en ID de contenedor
:
# Docker PS -A | Awk 'imprimir $ 1, $ 2' | Grep Centos: 7 | AWK 'imprimir $ 1' 6AE3E3870739 Effd4037ab74
Por último, podemos usar Xargs
y eliminar las ID de contenedor restantes:
# Docker PS -A | Awk 'imprimir $ 1, $ 2' | Grep Centos: 7 | Awk 'imprimir $ 1' | xargs -i Docker RM 6AE3E3870739 Effd4037ab74
Tutoriales de Linux relacionados:
- Ejemplos sobre cómo usar el comando XARGS en Linux
- Xargs para principiantes con ejemplos
- XARGS multiprocesado con ejemplos
- Cómo Grep Correntemente para el texto en scripts bash
- Ejemplos de Linux Complex Bash One-Liner
- Gestión de la lista de procesos y terminación automática de procesos
- Cómo montar la imagen ISO en Linux
- Cosas para instalar en Ubuntu 20.04
- Manipulación de Big Data para diversión y ganancias Parte 2
- Cómo cambiar el nombre de múltiples archivos en Linux
- « Cómo ejecutar aplicaciones X sin escritorio o WM
- Configuración del servidor MPD Music en Ubuntu Linux »