Desde docker podemos descargar imágenes de contenedores o crear nuestras propias imágenes.Una imágen estara formada por varias capas (layers)
docker images
Esto nos mostrará la información de la imagen de Docker:
docker pull <nombre_de_la_Imagen>
docker build es el comando para generar imágenes en base a un fichero Dockerfile que describe la imágen y el contexto que suele ser el directorio de trabajo local donde van a estar los ficheros
Dockerfile es un ficherto de texto que contienen una serie de instrucciones del tipo script, que se utiliza para construir automáticamente imágenes. Su función es automatizar la creación de imágenes, permitiendo facilmente repetir o modificar la creación de imágenes.
https://docs.docker.com/engine/reference/builder/
Ejemplo de Dockerfile
#Utilizamos la imagen base de ubuntu 16.04 FROM ubuntu: 16.04 # instalamos el servidor web apache2, para reducir el tamaño, borramos la caché de paquetes apt y la lista de paquetes descargada RUN apt-get update && apt-get install -y apache2 && apt-get clean && rm -rf /var/lib/apt/lists/* # exponemos el puerto http TCP/80, copiamos el fichero index.html al DocumentRoot EXPOSE 80 ADD ["index.html","/var/www/html/"] # indicamos el comando que se va a ejecutar al crear el contenedor, y además, al usar el comando ENTRYPOINT, no permitimos ejecutar ningún otro #comando durante la creación. ENTRYPOINT ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]
Una vez creado nuestro fichero dockerfile para generar la imagen suponiendo que estamos en el mismo directorio que nuestro fichero dockerfile docker build <ruta> en el caso de que estamos ejecutando el comando desde el mismo directorio donde está el dockerfile
docker build .
Para eliminar una imagen
docker image rm <id>
Añadirle etiquetas a nuestras imágenes nos va a servir para añadir en los metadatos de la imagen información que nos permita identificar a nuestras imágenes. por ejemplo, para crear una imagen que llamaremos holamundo con una etiqueta 1.0 suponiendo que estamos en el directorio donde se encuentra el dockerfile sería:
docker build -t holamundo:1.0 .