Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
info:cursos:altran:docker:dockerfile [05/07/2018 09:59] – [CMD] mate | info:cursos:altran:docker:dockerfile [03/01/2019 02:44] (actual) – [COPY] mate | ||
---|---|---|---|
Línia 7: | Línia 7: | ||
'' | '' | ||
- | <callout type=" | + | <callout type=" |
+ | También se puede lanzar un proceso vagrant rsync-auto que se encarga de ir haciendo este proceso automaticamente</ | ||
== instrucciones | == instrucciones | ||
Línia 25: | Línia 26: | ||
=== FROM | === FROM | ||
imagen de referencia | imagen de referencia | ||
- | '' | + | |
- | '' | + | |
- | '' | + | |
| | ||
=== RUN | === RUN | ||
Línia 35: | Línia 36: | ||
'' | '' | ||
| | ||
- | === OJO CACHE! | + | <callout type=" |
- | al separar las líneas, el primer RUN es un layer y quedará cacheado (y usado en otras imágenes), lo que hará que nuestro sistema no se actualice. Por eso la línea RUN del update incluye la instalación de soft | + | |
<sxh bash> | <sxh bash> | ||
FROM debian | FROM debian | ||
Línia 43: | Línia 43: | ||
CMD [" | CMD [" | ||
</ | </ | ||
+ | </ | ||
=== OPTIMIZAR | === OPTIMIZAR | ||
Línia 55: | Línia 56: | ||
=== COPY | === COPY | ||
- | * '' | + | * '' |
* '' | * '' | ||
- | * '' | + | * '' |
- | * '' | + | * '' |
- | * '' | + | * '' |
+ | * '' | ||
+ | * '' | ||
<callout type=" | <callout type=" | ||
Línia 73: | Línia 76: | ||
importante que el COPY esté por debajo del RUN (LAYERS!!!) | importante que el COPY esté por debajo del RUN (LAYERS!!!) | ||
+ | === volumes | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | los volúmenes se usan para persistencia, | ||
+ | |||
+ | === label | ||
+ | * '' | ||
+ | |||
+ | === arg | ||
+ | * '' | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | === env | ||
+ | * '' | ||
+ | |||
+ | === add | ||
+ | * '' | ||
+ | * es un copy on steroids | ||
+ | * también descomprime un tgz o similar directamente | ||
+ | * CREA UNA LAYER (como RUN y COPY) | ||
+ | |||
+ | === expose | ||
+ | * '' | ||
+ | |||
+ | === workdir | ||
+ | * '' | ||
+ | |||
+ | === imágenes alpine | ||
+ | * **nginx: | ||
+ | * las versiones **alpine** están basadas en la imagen **alpine**, muy ligera | ||
+ | * usan **sh** y no **bash** | ||
+ | * también se usa **slim** para hacer entender que es una versión ligera | ||
+ | |||
+ | === user | ||
+ | * '' | ||
+ | * '' | ||
+ | * en **openshift** siempre ha de estar el usuario añadido al grupo de **root** | ||
+ | * <code bash> | ||
+ | #!/bin/bash fix-permissions.sh | ||
+ | for arg in " | ||
+ | do | ||
+ | find " | ||
+ | find " | ||
+ | find " | ||
+ | done | ||
+ | </ | ||
+ | si extendemos de una imagen que ha cambiado el USER y nosotros hemos de realizar cambios, hemos de hacer el cambio a USER root, hacemos lo que necesitemos y lo volvemos a dejar con el usuario que toque. | ||
+ | |||
+ | === context | ||
+ | * '' | ||
+ | * para evitar el problema del **Dockerfile**, | ||
+ | * para hacerlo más límpio, usar el **.** siempre y todo referenciado desde ahí | ||
+ | |||
+ | === bbdd | ||
+ | bien para desarrollo, no para producción | ||
+ | |||
+ | es un cuello de botella, ya que para mantener la persistencia hay que montar un volumen por NFS (red), lo que hace que sea lento | ||
+ | |||
+ | los DBA ullen de las máquinas virtuales, quieren servidores físicos, así que de docker... | ||
+ | |||
+ | === volumes | ||
+ | * '' | ||
+ | * funcionamiento parecido a EXPOSE y -P | ||
+ | * si no especificamos nosotros con '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * <code bash | ||
+ | FROM ... | ||
+ | RUN mkdir /app | ||
+ | RUN echo " | ||
+ | VOLUME /app | ||
+ | RUN echo " | ||
+ | </ | ||
+ | |||
+ | === entrypoint | ||
+ | * es lo primero que se ejecuta (antes que '' | ||
+ | * '' | ||
+ | * a este comando le llega por parámetro lo que viene desde '' | ||
+ | * '' | ||
+ | * ejecución en tiempo de ejecución | ||
+ | * ejecuta todo lo que recibe a través del CMD: < | ||
+ | #! /bin/bash | ||
+ | exec " | ||
+ | </ | ||
+ | |||
+ | los entrypoint y los cmd hay que hacerlo a la manera JSON [" | ||
+ | {{ : | ||
+ | |||
+ | == proxy-pass | ||
+ | configuración de apache para que al recibir una petición delegue en otros contenedores | ||
+ | |||
+ | imagen creada de docker donde se le pasa por variable de entorno el destino al que ha delegar, ayudado por el '' | ||
+ | |||
+ | == .dockerignore | ||
+ | permite expresiones regulares, como **.gitignore** y metes todos aquellos ficheros que no han de formar parte de la imagen |