# data[].attributes.body
es una unidad de software estándar que empaqueta código y todas sus dependencias, para que las aplicaciones se puedan ejecutar de forma rápida y confiable de un entorno a otro .

# data[].attributes.body
La arquitectura Docker es una arquitectura cliente-servidor, dónde el cliente habla con el servidor (que es un proceso daemon) mediante un API para poder gestionar el ciclo de vida de los contenedores y así poder construir, ejecutar y distribuir los contenedores.

El hecho de que el cliente se comunique con el servidor mediante el API hace que el cliente y servidor puedan estar en la misma máquina comunicándose mediante sockets de UNIX o bien en máquinas diferentes comunicándose mediante un end-point en la red.

# data[].attributes.body
Una imagen en Docker es un archivo o archivo que se encuentra compuesto de diversas capas y que se utiliza con el objetivo de ejecutar un código dentro de un contenedor de Docker .

# data[].attributes.body
Para listar las imágenes presentes en el sistema usamos el comando docker image ls . Para parar un contenedor en ejecución debemos usar docker stop seguido del identificador del contenedor o de su nombre. De la misma manera, podemos eliminarlo usando el comando docker rm.

# data[].attributes.body
Para entender mejor qué son los comandos de Docker y cómo funcionan, vamos a explicar brevemente la estructura de Docker. La instalación de Docker en un host local contiene el Docker Engine como núcleo, que consta de tres componentes principales:

# data[].attributes.body
1. El daemon de Docker, que se ejecuta como “dockerd” en el host.

# data[].attributes.body
1. La API de Docker, proporcionada por el daemon de Docker. Este se dirige y se deja controlar a través de la API.

# data[].attributes.body
1. La interfaz de línea de comandos (“command line interface”, CLI), que se utiliza como un comando de Docker para comunicarse con la API de Docker.

# data[].attributes.body
Por ahora, solo necesitarás básicamente tres comandos para gestionar tus imágenes,

ls, para saber las imágenes que tienes en tu equipo.

rm para borrar las imágenes cuando hayas dejado de utilizarlas y recuperar ese espacio

pull en el caso de que quieras descargar la imagen.

Esto de pull lo comento, porque si intentas crear un contenedor sin que esté la imagen disponible, lo primero será descargarlo.

# data[].attributes.body
docker images es equivalente a docker image ls

docker rmi <imagen> es la versión corta docker image rm <imagen>

docker pull <imagen> otra alternativa a docker image pull <imagen>

docker push <imagen> es equivalente a docker image push <imagen> Llegados a este punto hacerte una observación en referencia al borrado de imágenes. Y es que no podrás borrar una imagen si existe un contenedor

# data[].attributes.body
La primera de las instrucciones que tienes que conocer para adentrarte en el mundo de las imágenes de Docker es docker image --help.

Si ejecutas docker image --help vas a obtener un listado de todas los comandos que puedes ejecutar para trabajar con imágenes.

build es la herramienta que tienes para construir tus propias imágenes a partir de un Dockerfile.

history te muestra la historia de esa imagen, es decir, como se construyó esa imagen.