Usuario:ManuelRomero/Docker/dockerFile

De WikiEducator
Saltar a: navegación, buscar


DokerFile

  • Es un fichero de texto que va contener una serie de instrucciones a partir de las cuales vamos a crear una imagen.
  • El fichero tiene un formato concreto, con una serie de instrucciones que veremos a continuación. Al menos es necesario utilizar la instrucción FROM para especificar la imagen base a partir de la cual queremos construir nuestra imagen personalizada, que es el objetivo de la especificación de este fichero

(Comment.gif: La idea es que partiendo de una imagen, personalicemos la imagen que queremos crear, después, a partir de esta imagen, levantaremos el contenedor)


  • Una vez que tengamos el contenido del fichero construiremos la imagen a través del comando docker build [opciones] PATH|URK|-
El nombre del fichero
  • El nombre del fichero puede ser cualquiera, pero se recomienda que sea DockerFile, En caso de que se establezca otro nombre, habrá que especificarlo cuando se invoque a la instrucción build
docker build -f nombre_fichero .

Instrucciones

   FROM: Establece la imagen base a partir de la cual se va a construir la imagen personalizada.
   RUN: Ejecuta un comando en la imagen durante la construcción.
   CMD: Especifica el comando predeterminado que se ejecutará cuando se inicie un contenedor a partir de la imagen.
   LABEL: Añade metadatos a la imagen.
   EXPOSE: Especifica un puerto o puertos que deben abrirse en el contenedor cuando se ejecuta.
   ENV: Establece una variable de entorno en la imagen.
   ADD: Copia archivos desde el host a la imagen.
   COPY: Copia archivos desde el contexto de construcción a la imagen.
   ENTRYPOINT: Especifica el programa que se ejecutará cuando se inicie un contenedor a partir de la imagen.
   VOLUME: Crea un punto de montaje en el contenedor.
   USER: Especifica el usuario o el grupo de usuarios que se utilizarán para ejecutar los comandos en el contenedor.
   WORKDIR: Establece el directorio de trabajo predeterminado para los comandos RUN, CMD, ENTRYPOINT, COPY y ADD.
   ARG: Declara un argumento que puede pasarse a la imagen durante la construcción con el parámetro --build-arg.
FROM
  • Establece la imagen a partir de la cual partimos. Si por ejemplo, nuestro contenedor va a ejectuar un servidor web, deberíamos de partir de una imagen ngynx o http. conviene buscar la imagen de la que partamos en docker hub
FROM ubuntu:latest
  • Si ejecutamos este comando crearemos una imagen a partir de ubuntu:latest.
  • Una vez que establecemos la imagen a partir de la cual queremos partir, con las instrucciones siguiente vamos a personalizar nuestra imagen.



RUN
CMD
LABEL
EXPOSE
ENV
ADD
COPY
ENTRYPOINT
VOLUME
USER
WORKDIR
ARG