meta data de esta página
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
virtualizacion:docker:dockerfile [2017/09/18 11:52] – [Referencias] lc | virtualizacion:docker:dockerfile [2023/01/18 14:37] (actual) – editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ===== Dockerfile | + | ===== Docker images |
- | Dockerfile es como un ficherto de texto que contienen una serie de instrucciones del tipo script, que se utiliza para construir automáticamente | + | Desde docker podemos descargar imágenes |
+ | ==== Comandos ==== | ||
+ | * **Ver las imágenes que tenemos disponibles en nuestro equipo**< | ||
+ | Esto nos mostrará la información de la imagen de Docker: | ||
+ | * REPOSITORY (nombre del repositorio) | ||
+ | * TAG (Etiqueta) | ||
+ | * IMAGE_ID (Identificador único de la imagen) | ||
+ | * SIZE (Tamaño del archivo) | ||
+ | * CREATED (Cuando fue creado este subrepositorio) | ||
+ | * **Descargar una imágen**< | ||
+ | |||
+ | ==== Como crear imágenes en Docker ==== | ||
+ | |||
+ | === Docker Build === | ||
+ | **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 === | ||
+ | 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. | ||
+ | |||
+ | === Instrucciones en Dockerfile ==== | ||
+ | https:// | ||
+ | |||
+ | * **FROM image** | ||
+ | * **MAINTAINER < | ||
+ | * **RUN comando** para ejecutar un comando en el contexto de la imagen. | ||
+ | * **WORKDIR path** definimos el directorio de trabajo en el contenedor. | ||
+ | * **ENV var=value** | ||
+ | * **EXPOSE puerto**: indicamos | ||
+ | * **VOLUME path** definimos volúmenes en el contenedor. Creamos un punto de montaje que nos permite compartir archivos con la máquina anfitriona o con otros contenedores. | ||
+ | * **COPY origen destino** para copiar ficheros dentro de la imagen. También se usa para multi-stage builds. | ||
+ | * **ADD < | ||
+ | * **USER** usuario a usar cuando se lanza un contenedor y para la ejecución de cualquier instrucción RUN, CMD | ||
+ | * **LABEL** añade metadatos a una imagen. | ||
+ | |||
+ | Ejemplo de Dockerfile | ||
+ | <sxh> | ||
+ | #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 / | ||
+ | |||
+ | # exponemos el puerto http TCP/80, copiamos el fichero index.html al DocumentRoot | ||
+ | EXPOSE 80 | ||
+ | ADD [" | ||
+ | |||
+ | # 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 ["/ | ||
+ | </ | ||
+ | <note tip>Si nos fijamos en el ejemplo todas las instrucciones como FROM, MAINTAINER y FROM se han escrito con mayúsculas, | ||
+ | |||
+ | Una vez creado nuestro fichero dockerfile para generar la imagen suponiendo que estamos en el mismo directorio que nuestro fichero dockerfile | ||
+ | **docker build < | ||
+ | |||
+ | Para eliminar una imagen | ||
+ | < | ||
+ | |||
+ | === Etiquetas === | ||
+ | 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, | ||
+ | < | ||
===== Referencias ===== | ===== Referencias ===== | ||
* https:// | * https:// | ||
* https:// | * https:// | ||
* https:// | * https:// | ||
+ | * http:// |