Aquesta és una revisió antiga del document


Capítulo 2 (Docker SecDevOps)

  • # comentarios o directivas
  • INSTRUCCIÓN argumentos : por convención, instrucción en mayúsculas
  • primera instrucción: FROM (o ARG)
  • antes de la instrucción FROM
  • no repeticiones
  • formato concreto: # directiva=valor (respetando espacios) → si no, es tratado como un comentario
  • directivas soportadas actualmente:
    • escape : caracter de escape en ficheros Dockerfile. Soporta \ y `
  • ENV
  • ENV var=valor
  • ENV var=valor var2=valor2 var3=$var2
  • se referencian con el signo $ o ${}
  • funcionalidades tipo bash:
    • ${var:-texto} : si var tiene valor propio (está inicializada) lo devuelve, si no, devuelve texto
    • ${var:+texto} : si var tiene valor propio, devuelve la cadena texto, si no, devuelve vacío
  • se pueden usar en:
    • ADD
    • COPY
    • ENV
    • EXPOSE
    • FROM
    • ONBUILD
    • LABEL
    • STOPSIGNAL
    • USER
    • VOLUME
    • WORKDIR
  • se procesa al mismo tiempo que se procesa el contexto en el build de una imagen
  • ignora todos los archivos / directorios que estén especificados
  • uso de comodines: *, ?, !
  • comentarios: #
  • importancia del orden de criterio de exclusión:
    *.md
    !README.md
    *.md
    !README*.md
    README-secret.md
    *.md
    README-secret.md
    !README*.md
    • el primer ejemplo excluye todos los ficheros .MD excepto el README.md
    • el segundo excluye todos los ficheros .MD excepto los README*.md, aunque el README-secret.md también quedaría excluido
    • el tercer ejemplo es una mala construcción por el orden de las instrucciones, ya que el fichero README-secret.md quedaría incluido, cuando lo que pretendemos es excluirlo
  • se puede excluir Dockerfile también, pero solo se ignorará en las instrucciones COPY y ADD
  • FROM <imagen>[:tag|@digest] [AS <nombre>]
  • info/libros/docker-sec-dev-ops/cap2.1548752387.txt.gz
  • Darrera modificació: 29/01/2019 00:59
  • per mate