Entonces, la intención principal era dockerizar una aplicación fat jar y ponerla en Elasticbeanstalk. El problema está en el contexto. Es un poco estúpido agregar tanto contexto en la ventana acoplable si todo lo que necesito es en realidad un solo archivo jar.
He estado jugando con el archivo .dockerignore, pero estoy perdido. Traté de usar la negación gitignore, pero no funciona.
*
!Dockerfile
*/
!target/
target/*
!target/*.jar
También existe esa cosa con las expresiones regulares, pero parece que las expresiones regulares complicadas no son compatibles.
^((?!Dockerfile).)*$
También intenté buscar en stackoverflow, y estos dos son todo lo que encontré:
Esta pregunta puede ser similar a la segunda, pero creo que es ligeramente diferente ya que aquí, solo quiero incluir un solo archivo en el contexto.
Se agradecerá cualquier ayuda.
Respuestas:
Si necesita ignorar todo excepto algunos directorios o archivos y también ignorar algunos archivos innecesarios dentro de esos directorios permitidos, puede usar el siguiente
.dockerignore
archivo:fuente
*
en la primera línea (en lugar de**
). Cita: "es posible que desee especificar qué archivos incluir en el contexto, en lugar de cuáles excluir. Para lograr esto, especifique*
como primer patrón, seguido de uno o más!
patrones de excepción".De la referencia de dockerfile :
Entonces, una línea que contenga simplemente ** ignorará todo en el mismo directorio que el Dockerfile.
Como se esperaba, la exclamación se puede usar para hacer referencia a cualquier archivo que desee enviar al demonio de la ventana acoplable.
fuente
**
vaya al principio del archivo, de lo contrario se ignorarán las exclusiones. Docker usa la última regla que coincide como la regla "final", por lo que si**
es la última, coincidirá con todo.**
en la primera línea y!foo
en la siguiente línea sifoo
es el único archivo que desea incluir.Esto puede sonar extraño, pero si todo lo que necesita es un solo archivo jar, puede crear una carpeta "docker" en su sistema de compilación que contenga su Dockerfile. Cuando ejecute sus compilaciones, haga que los scripts de compilación copien el archivo jar único en "docker", luego ejecute la compilación de la imagen de la ventana acoplable (desde dentro de la carpeta "docker") y empuje a su registro de la ventana acoplable cuando haya terminado.
fuente