Índice

Utilización de un Dockerfile Dockerfile

1. Interés de los archivos Dockerfile

La "receta" de la que acabamos de hablar, se presenta en forma de archivo de texto llamado Dockerfile, que utiliza una gramática particular de Docker. Este archivo contiene todas las operaciones necesarias para la preparación de una imagen Docker. De esta manera, en lugar de construir una imagen por medio de operaciones manuales en un contenedor, seguida de un comando commit (incluso varios si procede por etapas), como hemos hecho anteriormente, vamos a poder compilar una imagen desde una descripción textual de estas operaciones.

A continuación se muestra, por ejemplo, el contenido del archivo Dockerfile correspondiente a la imagen oficial MongoDB, tal y como se puede encontrar en el registro Docker Hub a la fecha de escritura de este libro (versión 3.0 de MongoDB, disponible en https://registry.hub.docker.com/_/mongo/):

FROM debian:wheezy 
   
# add our user and group first to make sure their IDs get assigned 
consistently, regardless of whatever dependencies get added 
RUN groupadd -r mongodb && useradd -r -g mongodb mongodb 
   
RUN apt-get update \   
    && apt-get install -y --no-install-recommends \   
          ca-certificates curl \   
          numactl \   
    && rm -rf /var/lib/apt/lists/*   
   
# grab gosu for easy step-down from root    ...