DockerFile Introducción
DockerFile acoplable se utiliza para construir el archivo de imagen, el ritmo es una serie de comandos y parámetros de configuración
Buscar en el cubo cargador de muelle y ver los centos DockerFile de la siguiente manera:
Fundamentos DockerFile
1, cada instrucción debe reservarse palabras en mayúscula y subtítulos para seguir detrás de al menos un parámetro
2, la ejecución de la instrucción con el fin de arriba hacia abajo
3, # denota un comentario
4, cada instrucción creará una nueva capa de la imagen, y el espejo comprometerse
proceso de construcción DockerFile
1, ventana acoplable ejecutar una imagen de base del recipiente de
2, y para ejecutar una instrucción para modificar el envase
3, una operación similar se lleva a cabo ventana acoplable comprometerse a presentar una nueva capa de imagen
4, cargador de muelle basada nuevo plazo reflejo acaba de presentar un nuevo contenedor
5, la siguiente instrucción ejecutada dockerfile hasta la finalización de todas las instrucciones se ejecutan
caso:
Puede hacer referencia a [Aplicación] acoplable volumen contenedores de datos (D) , un volumen de datos del recipiente para añadir dos maneras: utilizando DockerFile add, comparar proceso de construcción de este procedimiento DockerFIle
DockerFile palabras reservadas
1, a partir
imagen de base, una nueva imagen se basa en el espejo de corriente
2, MAINTAINER
Espejo defensores nombre y dirección de correo electrónico
3, RUN
Comando necesidad de la construcción de contenedores de ejecución
4, EXPONGA
La exposición externa a un puerto de contenedores actual
5, WORKDIR
Después de volver a crear la terminal de contenedores especificado registra en el directorio de trabajo por defecto
6, ENV
Para establecer las variables de entorno en el proceso de construcción del espejo
7, ADD
El archivo de host en la imagen directorio y copiado en la URL de procesamiento de comando ADD y automáticamente extraer el archivo tar
8, COPIAR
Del mismo modo FICHA añadir, a la copia espejo del directorio de documentos, el directorio desde el contexto construcción <ruta de origen> / directorio a <ruta de destino> en la nueva posición de la capa de espejo
Use un: COPIA src dest
用法 二: COPY [ "src", "destino"]
9, VOLUMEN
recipiente de volumen de datos, para el almacenamiento de datos persistente y el trabajo
10, CMD
Especificar un comando para ejecutar el contenedor de inicio
En Dockerfile puede tener múltiples comandos CMD, pero sólo el último va a funcionar, parámetros CMD será reemplazado después de la carrera ventana acoplable
11, EntryPoint
Especificar un comando para ejecutar el contenedor de inicio
propósito EntryPoint y CMD, es en el contenedor especificado y comienzan los parámetros del programa
12, ONBUILD
Cuando la construcción de un Dockerfile heredada ejecutar el comando, el padre del espejo se activa después de la colcha a la imagen de su padre de onbuild
Una caja del espejo -Base (cero)
Acoplable Hub 99% de la imagen están obligados por la instalación y configuración de software en el constructo espejo de base fuera
1 a partir de cero
Caso B - mycentos Espejo personalizada
1, archivo DockerFile escritura
1 # centos la imagen de espejo de base 2 del DE centos . 3 . 4 # defensores de imagen con el nombre y dirección de correo electrónico . 5 El mantenedor de H__D < H__D @ 163.com > . 6 . 7 # variables de entorno . 8 ENV MYPATH / usr / local . 9 10 # directorio de trabajo . 11 del WORKDIR $ MYPATH 12 es 13 se ejecuta programa de instalación comando vim constructo # 14 la carrera -Y yum el instalar vim 15 16 cuando se ejecuta # acumulación montado Herramientas NET . 17 la carrera yum las herramientas de instalar -Y-NET 18 es . 19 # expuesta al exterior del puerto de contenedores de corriente 20 está exponer 80 21 es 22 es orden de marcha para iniciar # 23 CMD echo $ MYPATH 24 25 eco CMD "éxito acumulación .............." 26 27 CMD / bin / bash
2, edificio
Formato: Docker construir un nuevo nombre de duplicación -t: TAG.
命令: cargador de muelle de construcción -f -t dockerfile2 prueba / mycentos: 1.2.
3, plazo
Formato: Docker RUN -Es nuevo nombre de la imagen: TAG
Comando: Docker agilizar probarlo RUN / mycentos: 1.2
4, lo que refleja la lista del historial de cambios
Formato: Historia del estibador nombre de duplicación: TAG
Comando: Historia del estibador de prueba / mycentos: 1.2
Asunto C -cmd / caja del espejo EntryPoint
Cuando un contenedor se especifica inicia el comando a ejecutar
1, CMD: Dockerfile puede tener múltiples comandos CMD, pero sólo el último va a funcionar, parámetros CMD será reemplazado después de la carrera ventana acoplable
1) Crear un dockerfile4, de la siguiente manera:
1 # centos la imagen de espejo de base 2 del DE centos . 3 . 4 # ejecutar la orden de marcha . 5 del CMD [ "/ bin / echo", "Hello"]
2) Por dockerfile4, la construcción de prueba / reflejo mycmd
命令: estibador acumulación -f -t dockerfile4 prueba / mycmd.
3) Pruebas
Comando: Docker -Es la prueba RUN / mycmd
命令: prueba de ventana acoplable plazo -es / mycmd / bin / echo "ABC"
2, punto de entrada: se puede añadir parámetros
1) Crear un dockerfile3, de la siguiente manera:
1 # centos la imagen de espejo de base 2 del DE centos . 3 . 4 se vuelve a comenzar # comando . 5 EntryPoint [ "/ bin / echo", "Hello"] . 6 . 7 # acoplable Expediting ejecutarlo [imagen] Después de ejecutar la salida . 8 # Hello World . 9 # acoplable ejecutar -es [imagen] salida de "comando" después de correr 10 # línea de comandos Hola
2) Por dockerfile3, la construcción de prueba / reflejo myentrypoint
命令: estibador acumulación -f -t dockerfile3 prueba / myentrypoint.
3) Pruebas
命令: estibador ejecutar -es prueba / myentrypoint
命令: estibador ejecutar la prueba -es / myentrypoint "ABC"
Caso D -ONBUILD
ONBUILD: comando Ejecutar en la construcción de un Dockerfile heredado, el padre del espejo se activa después de la colcha a la imagen de su padre de onbuild
1, un nuevo archivo dockerfile5, de la siguiente manera:
1 base # centos del espejo del espejo 2 del DE centos 3 4 # espejos colcha gatillo 5 ONBUILD RUN echo "Ahora, Acción de generación es el bien .............." 6 7 comando Ejecutar para iniciar # 8 CMD [ "bin / / bash"]
2, mediante la construcción de prueba dockerfile5 / mycentos: 1,5 mirroring
命令: cargador de muelle de construcción -f -t dockerfile5 prueba / mycentos: 1.5.
3, una nueva dockerfile6 archivo, la imagen de base es una prueba / mycentos: 1,5, como sigue:
1 # centos espejo imagen de base 2 el de la prueba / mycentos: para 1,5 . 3 . 4 Run inicia # comando . 5 el CMD [ "/ bin / el golpe"]
4, construido por prueba / mycentos dockerfile6: 1,6 mirroring
命令: cargador de muelle de construcción -f -t dockerfile6 prueba / mycentos: 1.6.
A través de la observación, podemos ver el papel de mando ONBUILD
casos E - imágenes personalizadas Tomcat9