Me estoy quedando en la ventana acoplable bajo Vagrant en OS X 10.8.4 (Mountain Lion), y siempre que se intenta eliminar una imagen guardada, me sale un error:

$ docker rmi some-image-id
2013/07/15 hh:mm:ss unexpected JSON input

De acuerdo a la rmi ayuda, la sintaxis correcta es docker rmi IMAGE [IMAGE...], y no estoy seguro de qué hacer con eso.

¿Cómo puedo eliminar una imagen?

$ docker version
Client version: 0.4.8
Server version: 0.4.8
Go version: go1.1

 

$docker info
Containers: 1
Images: 3

Curiosamente, cuando ejecuto docker ps, no hay contenedores de mostrar a todos. Ejecución de docker images muestra cuatro (4) base imágenes y un (1) node imagen.

  • ¿Qué versión de la ventana acoplable estás usando? Puede pegar la salida de ‘ventana acoplable versión’ y ‘ventana acoplable info’? Acabo de probar con el maestro y funcionó bien.
  • He actualizado a la pregunta con esa información.
  • docker info muestra la cantidad real de imágenes, usted puede tratar de ./docker images -a -q | sort | uniq | wc -l debe ser el mismo resultado (-a para todas las imágenes, -q para sólo ids). docker ps muestra sólo el activo de contenedores, puede hacer docker ps -a a la lista de todos los contenedores
  • Puede intentar iniciar ventana acoplable demonio con -D opción y así el cliente? docker -d -D& ; docker -D rmi <id>. También puede intentar CID=$(docker run -d ubuntu bash); ID=$(docker commit $CID); docker rmi $ID?
  • Bien, tengo un contenedor con el estado de salida 137 (no estoy seguro de lo que eso significa), y docker images -a -q | sort | uniq | wc -l devuelve 3 (uso de ./docker en que el comando devuelve «No existe el fichero»).
  • Tratando de borrar la imagen en el modo de demonio devuelve el mismo error, como en el modo de cliente. Ejecuta el segundo comando (CID=$[and so on]) añadido cinco ubuntu imágenes.
  • Se puede tratar de construir desde el código fuente y probar de nuevo? O puede esperar hasta mañana que v0.5.0 se libera.
  • En realidad, esa es la cosa – yo era capaz de eliminar imágenes en mi instalación original (en este punto no estoy seguro de cuál es el comando que se utiliza). Se dejó de funcionar, así que hice una instalación limpia, y ahora, todavía nada.
  • Echa un vistazo a este pull request: github.com/dotcloud/docker/pull/1225

InformationsquelleAutor Jules | 2013-07-15

17 Comentarios

  1. 961

    Intentar docker rmi node. Que deben trabajar.

    Ver todos los contenedores es tan simple como docker ps -a.

    Para eliminar todos los contenedores existentes (no imágenes!) ejecutar docker rm $(docker ps -aq)

    • Si algunos de los contenedores que todavía se están ejecutando, puede ejecutar: ventana acoplable parada de $(docker ps -qa) para detener todos los contenedores. Creo que la eliminación de un contenedor operativo puede no funcionar, al menos que yo recuerde he tenido problemas con esto. Yo podría estar equivocado con ella… he comprobado que el hombre de la página y apoya mi hipótesis: «-f, –force=true|false Forzar la eliminación de la ejecución de contenedor. El valor predeterminado es false.»
    • Ah, yo no sabía sobre el comando para «eliminar todas las contenedor». Había escrito propio: docker ps-a | sed -i ‘s/^(\w+).*/\1/g’ | sed -i ‘s/^/ CONTENEDOR/’ | sed -i ‘s/^(\w+)/ventana acoplable rm \1/g’ | awk ‘del sistema($0)’ Gracias !
    • Sabes opciones de línea de comandos están mal diseñados cuando se necesita usar el shell de características específicas para lograr la funcionalidad básica.
    • Para eliminar todos los existentes imágenes, puede utilizar – » ventana acoplable rmi $(ventana acoplable imágenes -q) «
    • Para eliminar todos los recipientes de uso de windows powershell: docker ps -aq | Foreach-Object { docker stop $_; docker rm $_; }
  2. 542

    Las siguientes son algunas de las formas para quitar la ventana acoplable imágenes/contenedores:

    Eliminar una sola imagen

    docker rmi image_name:version/image-id
    

    Eliminar todas las imágenes

    docker rmi $(docker images -qf "dangling=true")
    

    Matar a los contenedores y eliminarlos:

    docker rm $(docker kill $(docker ps -aq))
    

    Nota: Reemplace kill con stop para el cierre exitoso

    Eliminar todas las imágenes, excepto «mi imagen»

    Usar grep para quitar todos excepto my-image y ubuntu

    docker rmi $(docker images | grep -v 'ubuntu\|my-image' | awk {'print $3'})
    

    O (sin awk)

    docker rmi $(docker images --quiet | grep -v $(docker images --quiet ubuntu:my-image))

    • Además: eliminar «colgando» de las imágenes (imágenes sin etiquetas): docker rmi $(docker images -qf "dangling=true")
    • the_image debe ser la imagen de id
    • debería ser docker rm $(docker kill $(docker ps -a -q))
    • «Quitar todo excepto» sin awk: docker rmi $(docker images --quiet | grep -v $(docker images --quiet ubuntu:my-image))
    • La «pendiente=true» parece que al final no la eliminación de la no-colgando en contenedores, aunque. Ejecutar de nuevo, menos el de la a a la f y colgando la bandera para eliminar el resto.
    • Se trata sólo de mí, o es que la última sugerencia (O (sin awk)) no es realmente trabajo?

  3. 192

    Eliminar todos los contenedores docker

    docker rm $(docker ps -a -q)
    

    Eliminar todos ventana acoplable imágenes

    docker rmi $(docker images -q)
    
    • Quitar sin etiquetar imágenes: docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
    • eq8.ue/blogs/23-limpieza de primavera para la webdevelopers sudo docker rmi -f $(sudo docker images | grep "<none>" | awk "{print \$3}") y, a continuación, para eliminar live etiquetas de liberación de 2015 (por ejemplo,live-20150121223) podemos hacer sudo docker rmi -f $(sudo docker images | grep live-2015 | awk "{print \$3}")
    • A la fuerza, debe escribir: ventana acoplable -f rm $(docker ps-a -p)
  4. 67

    Para eliminar una imagen de la ventana acoplable el uso de la imagen de ID:

    1. Obtener la lista de todas las Imágenes

      docker images
      
    2. Identificar la imagen de ID de la imagen que desea eliminar, por ejemplo:

      REPOSITORY     TAG     IMAGE ID        CREATED        VIRTUAL SIZE
      kweku360/java  latest  08d3a9b8e166    2 weeks ago         5.733 GB`
      
    3. Por último, eliminar la imagen utilizando la imagen de ID (sólo los tres primeros dígitos son necesarios)

      docker rmi 08d
      
  5. 34

    De imagen:

    1. Lista de imágenes

      ventana acoplable imágenes

    2. Quitar una imagen

      ventana acoplable rmi nombre_imagen

    3. Fuerza de quitar una imagen

      ventana acoplable rmi-f nombre_imagen

    Contenedor:

    1. Lista de todos los contenedores

      docker ps -una

    2. Eliminar un contenedor

      ventana acoplable rm container_id

    3. Fuerza de quitar un contenedor

      ventana acoplable rm-f container_id

  6. 28

    Actualización, como ya se ha comentado por VonC en Cómo quitar los viejos contenedores de Docker.

    Con ventana acoplable 1.13 (T4 2016), ahora tiene:

    docker system prune va a borrar TODOS los datos (es decir, en orden: los contenedores se detuvo, volúmenes sin contenedores e imágenes sin contenedores).

    Ver PR 26108 y cometer 86de7c0, que son la introducción de algunos nuevos comandos para facilitar la visualización de la cantidad de espacio de la ventana acoplable demonio de datos está teniendo en el disco y permite fácilmente la limpieza de «innecesarios» exceso.

    docker system prune
    
    WARNING! This will remove:
        - all stopped containers
        - all volumes not used by at least one container
        - all images without at least one container associated to them
    Are you sure you want to continue? [y/N] y
    
    • Gracias por la respuesta detallada, pero este no contesta directamente la pregunta original (que ya ha sido contestada, y cuya respuesta todavía es relevante).
    • Estoy de acuerdo. Sin embargo, dado que el título de esta pregunta es muy genérica de esta especie ha de convertirse en una referencia de la pregunta, así que pensé en dar una actualización sobre el mecanismo estaba en el lugar.
  7. 22

    La Eliminación De Los Contenedores

    1. Para eliminar un contenedor específico

      docker rm CONTAINER_ID CONTAINER_ID
      
      • Para una sola imagen

        docker rm  70c0e19168cf
        
      • Para múltiples imágenes

        docker rm  70c0e19168cf c2ce80b62174
        
    2. Quitar salido de contenedores

      docker ps -a -f status=exited
      
    3. Eliminar todos los recipientes

      docker ps -q -a | xargs docker rm
      

    La Eliminación De Imágenes

    docker rmi IMAGE_ID
    
    1. Eliminar imágenes específicas

      • para una sola imagen

        docker rmi ubuntu
        
      • para múltiples imágenes

        docker rmi ubuntu alpine
        
    2. Quitar colgando imágenes

      Colgando imágenes son capas que no tienen relación alguna con las imágenes etiquetadas como la ventana acoplable imágenes están constituidos de varias imágenes.

      docker rmi -f $(docker images -f dangling=true -q)
      
    3. Quitar todos ventana acoplable imágenes

      docker rmi -f $(docker images -a -q)
      

    Extracción De Volúmenes

    A la lista de volúmenes, ejecutar docker volume ls

    1. Eliminar un volumen específico

      docker volume rm VOLUME_NAME
      
    2. Quitar colgando volúmenes

      docker volume rm $(docker volume ls -f dangling=true -q)
      
    3. Eliminar un contenedor y sus volúmenes

      docker rm -v CONTAINER_NAME
      
    • ¿Por qué doble CONTAINER_ID?
  8. 19

    docker rm container_name

    docker rmi image_name

    docker help

    rm Eliminar uno o más contenedores

    rmi Eliminar uno o más imágenes

    • Gracias, pero esta cuestión ya tiene varias respuestas, y una respuesta seleccionada, que resolvió el problema de casi 3 años.
  9. 13
    docker rmi  91c95931e552
    

    Respuesta de Error demonio: Conflicto, no se puede eliminar 91c95931e552 porque el contenedor 76068d66b290 que la está utilizando, utilice la opción-f para forzar el
    FATA[0000] Error: no se pudo extraer una o más imágenes

    Encontrar el ID del contenedor,

    # docker ps -a
    
    # docker rm  daf644660736 
    
    • Es que la respuesta a la pregunta?
    • Por qué daf644660736? Cómo es que se relaciona con ninguna de las anteriores?
  10. 4

    Primero de todo, tenemos que parar y quitar la ventana acoplable contenedores que se adjunta con la ventana acoplable de la imagen que vamos a quitar.

    Así que para eso, primero

    • docker stop container-id – Para interrumpir la ejecución del contenedor
    • docker rm container-id – Eliminar/quitar el contenedor

    entonces,

    • docker rmi image-id – Eliminar/quitar la imagen
  11. 2

    Para las versiones 1.13 y superior:

    docker image rm [OPTIONS] IMAGE [IMAGE...]
    

    Comparar:

    la [OPTIONS] parecen no tener ninguna diferencia.

    --force , -f        Force removal of the image
    --no-prune          Do not delete untagged parents
    

    De: La Introducción De Ventana Acoplable 1.13

    CLI reestructurado

    En la ventana acoplable 1.13, se reagruparon cada orden de sentarse bajo la lógica de objetos que interactúan con. Por ejemplo list y start de contenedores son ahora los subcomandos de docker container y history es un subcomando de docker image.

    Estos cambios nos deja limpiar la ventana acoplable de la sintaxis de CLI, mejorar el texto de ayuda y hacer de la ventana acoplable simple de usar. La vieja sintaxis del comando es todavía compatible, pero animamos a todo el mundo a adoptar la nueva sintaxis.

  12. 2

    Ventana acoplable proporciona algún comando para quitar images.

    Mostrar O Quitar Images:

    docker images
    docker images -a # All images
    docker images --no-trunc # List the full length image IDs
    
    docker images --filter "dangling=true" //Show unstage images
    docker rmi $(docker images -f "dangling=true" -q) # Remove on unstages images
    
    docker rmi <REPOSITORY> or <Image ID> # Remove a single image
    
    docker image prune # Interactively remove dangling images
    docker image prune -a # Remove all images
    
    or 
    
    docker rmi -f $(sudo docker images -a -q)
    

    Además, también puede utilizar filter parámetros para quitar el conjunto de imágenes en
    una vez:

    Ejemplo:

    $docker images --filter "before=<hello-world>" //It will all images before hello-world
    
    $docker images --filter "since=<hello-world>" //It will all images since hello-world
    

    Así que usted puede eliminar el filtro de imágenes como esta:

    docker rmi $(docker images --filter "since=<hello-world>")
    docker rmi $(docker images --filter "before=<hello-world>")
    
  13. 1

    Eliminar a todos ellos a través de

    Paso 1: Matar a todos los contenedores

    for i in `sudo docker ps -a | awk '{ print $1 }'`; do sudo docker kill $i ; done
    

    Paso 2: RM primero

    for i in `sudo docker ps -a | awk '{ print $1 }'`; do sudo docker rm $i ; done
    

    Paso 3: Eliminar las imágenes el uso de la fuerza

    for i in `sudo docker images | awk '{ print $3}'`; do  sudo docker rmi --force $i ; done
    

    Utilizar el paso 1 en caso de que usted está recibiendo el error diciendo que no puede ser eliminado debido a niño dependencias

  14. 1

    Si quieres automáticamente/limpie periódicamente salido de contenedores y eliminar las imágenes y los volúmenes que no están en uso por un contenedor operativo puede descargar la imagen meltwater/docker-cleanup.

    Yo uso este en producción desde que implementar varias veces al día en varios servidores, y no quiero ir a cada servidor para limpiar (que sería un dolor).

    Correr:

    docker run -d -v /var/run/docker.sock:/var/run/docker.sock:rw  -v /var/lib/docker:/var/lib/docker:rw --restart=unless-stopped meltwater/docker-cleanup:latest
    

    Se ejecutará cada 30 minutos (o el tiempo que establece el uso de DELAY_TIME=1800 opción) y limpiar salido de los contenedores y de las imágenes.

    Más detalles: https://github.com/meltwater/docker-cleanup/blob/master/README.md

  15. 1

    Aquí un script de shell para quitar un etiquetado (nombre) de la imagen y contenedores.
    Guardar como ventana acoplable-rmi y ejecute el uso de ‘ventana acoplable-rmi mi-imagen-nombre»

    #!/bin/bash
    
    IMAGE=$1
    
    if [ "$IMAGE" == "" ] ; then
      echo "Missing image argument"
      exit 2
    fi
    
    docker ps -qa -f "ancestor=$IMAGE" | xargs docker rm
    docker rmi $IMAGE
    
    • usted necesita xargs -r para hacer que funcione en la no coincidencia de contenedor caso.
  16. -1

    Para mí el siguiente funcionaba bien:

    > docker images
    REPOSITORY   TAG           IMAGE ID          CREATED             SIZE
    debian       jessie        86baf4e8cde9      3 weeks ago         123MB
    ubuntu       yakkety       7d3f705d307c      3 weeks ago         107MB
    alpine       3.5           074d602a59d7      7 weeks ago         3.99MB
    

    A continuación, seguir adelante y eliminar una imagen mediante la ejecución de algunos como estos:

    > docker rmi debian:jessie
    > docker rmi ubuntu:yakkety
    > docker rmi alipine:3.5
    
  17. -1

    Lista de imágenes:

    [email protected]:~$ sudo docker images
    

    REPOSITORIO DE LA ETIQUETA DE LA IMAGEN DE ID DE TAMAÑO DE CREACIÓN
    88282f8eda00 19 segundos atrás 308.5 MB
    13e5d3d682f4 19 horas 663 MB
    busybox2 última 05fe66bb1144 20 horas 1.129 MB
    ubuntu 16.04 00fd29ccc6f1 hace 5 días 110.5 MB
    ubuntu 14.04 67759a80360c hace 5 días 221.4 MB
    python 2.7 9e92c8430ba0 hace 7 días por 680,7 MB
    busybox última 6ad733544a63 hace 6 semanas 1.129 MB
    ubuntu 16.10 7d3f705d307c hace 5 meses 106.7 MB

    Eliminar imágenes:

    [email protected]:~$ sudo docker rmi 88282f8eda00
    

    Eliminado: sha256:88282f8eda0036f85b5652c44d158308c6f86895ef1345dfa788318e6ba31194
    Eliminado: sha256:4f211a991fb392cd794bc9ad8833149cd9400c5955958c4017b1e2dc415e25e9
    Eliminado: sha256:8cc6917ac7f0dcb74969ae7958fe80b4a4ea7b3223fc888dfe1aef42f43df6f8
    Eliminado: sha256:b74a8932cff5e61c3fd2cc39de3c0989bdfd5c2e5f72b8f99f2807595f8ece43

    [email protected]:~$ sudo docker rmi 13e5d3d682f4
    

    Respuesta de Error demonio: conflicto: no se puede eliminar 13e5d3d682f4 (debe ser forzado) – la imagen está siendo utilizada por detuvo contenedor 5593e25eb638

    Eliminar por la fuerza:

    [email protected]:~$ sudo docker rmi -f 13e5d3d682f4
    

    Eliminado: sha256:13e5d3d682f4de973780b35a3393c46eb314ef3db45d3ae83baf2dd9d702747e
    Eliminado: sha256:3ad9381c7041c03768ccd855ec86caa6bc0244223f10b0465c4898bdb21dc378
    Eliminado: sha256:5ccb917bce7bc8d3748eccf677d7b60dd101ed3e7fd2aedebd521735276606af
    Eliminado: sha256:18356d19b91f0abcc04496729c9a4c49e695dbfe3f0bb1c595f30a7d4d264ebf

Dejar respuesta

Please enter your comment!
Please enter your name here