Contenedores vs Imágenes en Docker
Tabla de contenido:
- Eliminar todos los objetos no utilizados
- Retirar los contenedores Docker
- Retire uno o más contenedores
- Retire todos los contenedores detenidos
- Retire los contenedores con filtros
- Pare y retire todos los contenedores
- Eliminar imágenes de Docker
- Eliminar una o más imágenes
- Eliminar imágenes colgantes
- Eliminar todas las imágenes no utilizadas
- Eliminar imágenes usando filtros
- Eliminar volúmenes de Docker
- Eliminar uno o más volúmenes
- Eliminar todos los volúmenes no utilizados
- Eliminar redes de Docker
- Eliminar una o más redes
- Eliminar toda la red no utilizada
- Eliminar redes utilizando filtros
- Conclusión
Docker le permite construir, probar e implementar rápidamente aplicaciones como contenedores portátiles y autosuficientes que pueden ejecutarse prácticamente en cualquier lugar.
Docker no elimina objetos no utilizados, como contenedores, imágenes, volúmenes y redes, a menos que se lo indique explícitamente. A medida que trabaja con Docker, puede acumular fácilmente una gran cantidad de objetos no utilizados que consumen mucho espacio en disco y saturan la salida producida por los comandos de Docker.
Esta guía sirve como una "hoja de trucos" para ayudar a los usuarios de Docker a mantener su sistema organizado y a liberar espacio en disco al eliminar los contenedores, imágenes, volúmenes y redes de Docker no utilizados.
Eliminar todos los objetos no utilizados
El comando de
docker system prune
eliminará todos los contenedores detenidos, todas las imágenes colgantes y todas las redes no utilizadas:
docker system prune
Se le pedirá que continúe, use el indicador
-f
o
--force
para omitir la solicitud.
WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all dangling images - all build cache Are you sure you want to continue?
docker system prune --volumes
WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all volumes not used by at least one container - all dangling images - all build cache Are you sure you want to continue? y
Retirar los contenedores Docker
Los contenedores Docker no se eliminan automáticamente cuando los detiene a menos que inicie el contenedor con el indicador
--rm
.
Retire uno o más contenedores
Para eliminar una o más imágenes de Docker, use el comando
docker container rm
seguido de la ID de los contenedores que desea eliminar.
Puede obtener una lista de todos los contenedores pasando el indicador
-a
al comando
docker container ls
:
docker container ls -a
La salida debería verse así:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cc3f2ff51cab centos "/bin/bash" 2 months ago Created competent_nightingale cd20b396a061 solita/ubuntu-systemd "/bin/bash -c 'exec …" 2 months ago Exited (137) 2 months ago systemd fb62432cf3c1 ubuntu "/bin/bash" 3 months ago Exited (130) 3 months ago jolly_mirzakhani
Una vez que conozca el
CONTAINER ID
de los contenedores que desea eliminar, páselo al comando
docker container rm
. Por ejemplo, para eliminar los dos primeros contenedores enumerados en la salida anterior, ejecute:
docker container rm cc3f2ff51cab cd20b396a061
Error response from daemon: You cannot remove a running container fc983ebf4771d42a8bd0029df061cb74dc12cb174530b2036987575b83442b47. Stop the container before attempting removal or force remove.
Retire todos los contenedores detenidos
Antes de ejecutar el comando de eliminación, puede obtener una lista de todos los contenedores que no se están ejecutando (detenidos) que se eliminarán con el siguiente comando:
docker container ls -a --filter status=exited --filter status=created
Para eliminar todos los contenedores detenidos, utilice el comando de
docker container prune
:
docker container prune
Se le pedirá que continúe, use el indicador
-f
o
--force
para omitir la solicitud.
WARNING! This will remove all stopped containers. Are you sure you want to continue? y
Retire los contenedores con filtros
El comando
docker container prune
permite eliminar contenedores según la condición utilizando el indicador de filtrado
--filter
.
Al momento de escribir este artículo, los filtros actualmente admitidos son
until
y
label
. Puede usar más de un filtro mediante el uso de varios indicadores de
--filter
.
Por ejemplo, para eliminar todas las imágenes que se crearon hace más de 12 horas, ejecute:
docker container prune --filter "until=12h"
Pare y retire todos los contenedores
Puede obtener una lista de todos los contenedores Docker en su sistema utilizando el
docker container ls -aq
.
Para detener todos los contenedores en ejecución, use el comando
docker container stop
seguido de una lista de todas las ID de contenedores.
docker container stop $(docker container ls -aq)
Una vez que se detienen todos los contenedores, puede eliminarlos con el comando
docker container rm
seguido de la lista de ID de contenedores.
docker container rm $(docker container ls -aq)
Eliminar imágenes de Docker
Eliminar una o más imágenes
Para eliminar una o más imágenes de Docker, use el comando
docker images ls
para encontrar la ID de las imágenes que desea eliminar.
docker image ls
La salida debería verse así:
REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 75835a67d134 7 days ago 200MB ubuntu latest 2a4cca5ac898 2 months ago 111MB linuxize/fedora latest a45d6dca3361 3 months ago 311MB java 8-jre e44d62cf8862 3 months ago 311MB
Una vez que haya localizado las imágenes que desea eliminar, pase su
IMAGE ID
al comando
docker image rm
. Por ejemplo, para eliminar las dos primeras imágenes enumeradas en la salida anterior, ejecute:
docker image rm 75835a67d134 2a4cca5ac898
Error response from daemon: conflict: unable to remove repository reference "centos" (must force) - container cd20b396a061 is using its referenced image 75835a67d134
Eliminar imágenes colgantes
Docker proporciona un comando de
docker image prune
Docker que se puede usar para eliminar imágenes colgadas y sin usar.
Una imagen colgante es una imagen que no está etiquetada y que ningún contenedor utiliza. Para eliminar imágenes colgantes, escriba:
docker image prune
Se le pedirá que continúe, use el indicador
-f
o
--force
para omitir la solicitud.
WARNING! This will remove all dangling images. Are you sure you want to continue? y
Al eliminar imágenes colgantes, si las imágenes creadas por usted no están etiquetadas, también se eliminarán.
Eliminar todas las imágenes no utilizadas
Para eliminar todas las imágenes a las que no hace referencia ningún contenedor existente, no solo las que cuelgan, use el comando
prune
con el indicador
-a
:
docker image prune -a
WARNING! This will remove all images without at least one container associated to them. Are you sure you want to continue? y
Eliminar imágenes usando filtros
Con el comando
docker image prune
, también puede eliminar imágenes en función de una determinada condición utilizando el indicador de filtrado
--filter
.
Al momento de escribir este artículo, los filtros actualmente admitidos son
until
y
label
. Puede usar más de un filtro mediante el uso de varios indicadores de
--filter
.
Por ejemplo, para eliminar todas las imágenes que se crearon hace más de 12 horas, debería ejecutar:
docker image prune -a --filter "until=12h"
Eliminar volúmenes de Docker
Eliminar uno o más volúmenes
Para eliminar uno o más volúmenes de Docker, use el comando
docker volume ls
para encontrar la ID de los volúmenes que desea eliminar.
docker volume ls
La salida debería verse así:
DRIVER VOLUME NAME local 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163 local terano
Una vez que haya encontrado el
VOLUME NAME
de los volúmenes que desea eliminar,
docker volume rm
comando
docker volume rm
. Por ejemplo, para eliminar el primer volumen listado en la salida anterior, ejecute:
docker volume rm 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163
Error response from daemon: remove 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163: volume is in use -
Eliminar todos los volúmenes no utilizados
Para eliminar todos los volúmenes no utilizados, use el comando
docker image prune
:
docker volume prune
Se le pedirá que continúe, use el indicador
-f
o
--force
para omitir la solicitud.
WARNING! This will remove all local volumes not used by at least one container. Are you sure you want to continue?
Eliminar redes de Docker
Eliminar una o más redes
Para eliminar una o más redes Docker, use el comando
docker network ls
para encontrar la ID de las redes que desea eliminar.
docker network ls
La salida debería verse así:
NETWORK ID NAME DRIVER SCOPE 107b8ac977e3 bridge bridge local ab998267377d host host local c520032c3d31 my-bridge-network bridge local 9bc81b63f740 none null local
Una vez que haya localizado las redes que desea eliminar, pase su
NETWORK ID
al comando
docker network rm
. Por ejemplo, para eliminar la red con el nombre
my-bridge-network
run:
docker network rm c520032c3d31
Error response from daemon: network my-bridge-network id 6f5293268bb91ad2498b38b0bca970083af87237784017be24ea208d2233c5aa has active endpoints
Eliminar toda la red no utilizada
Use el comando
docker network prune
para eliminar todas las redes no utilizadas.
docker network prune
Se le pedirá que continúe, use el indicador
-f
o
--force
para omitir la solicitud.
WARNING! This will remove all networks not used by at least one container. Are you sure you want to continue?
Eliminar redes utilizando filtros
Con el comando
docker network prune
puede eliminar redes según la condición utilizando el indicador de filtrado
--filter
.
Al momento de escribir este artículo, los filtros actualmente admitidos son
until
y
label
. Puede usar más de un filtro mediante el uso de varios indicadores de
--filter
.
Por ejemplo, para eliminar todas las redes que se crearon hace más de 12 horas, ejecute:
docker network prune -a --filter "until=12h"
Conclusión
En esta guía, le mostramos algunos de los comandos comunes para eliminar contenedores, imágenes, volúmenes y redes de Docker.
También debe consultar la documentación oficial de Docker.
estibadorCómo crear volúmenes cifrados de cifrado verdadero de la manera fácil
Aprenda cómo crear volúmenes cifrados de TrueCrypt de la manera fácil con TruPax.
Cómo construir imágenes de docker con dockerfile
Una imagen de Docker es el plano de los contenedores de Docker que contiene la aplicación y todo lo que necesita para ejecutarla. En este tutorial, explicaremos qué es Dockerfile, cómo crear uno y cómo construir una imagen Docker con Dockerfile.
Cómo enumerar contenedores en la ventana acoplable
Docker es una plataforma de contenedorización que le permite construir, probar e implementar rápidamente aplicaciones como contenedores portátiles y autosuficientes que pueden ejecutarse prácticamente en cualquier lugar. En este artículo, explicaremos cómo enumerar los contenedores Docker.