Estoy tratando de crear una imagen de una aplicación Spring simple con la imagen base de Websphere liberty instalada como una aplicación raíz.

Si bien se compila localmente y funciona bien, la misma imagen no se crea correctamente cuando se crea con Kaniko (utilizado por Jenkins).

Proyecto de muestra: https://github.com/dhananjay12/ci-cd-spring-project Archivo de Docker para wslc - https://github.com / dhananjay12 / ci-cd-spring-project / blob / master / Dockerfile-wslc

FROM websphere-liberty:18.0.0.4-javaee7

# Copy war file to apps folder
ADD ./target/ci-cd-spring-project*.war config/apps/ci-cd-spring-project.war

# Define the root context path for application
RUN sed -i "0,/<\/server>/s/<\/server>/    <webApplication contextRoot=\"\/\" location=\"ci-cd-spring-project.war\" \/>\n\n&/" config/server.xml

Localmente se construye y funciona bien.

Mientras construyo desde kaniko, la imagen está algo dañada y mientras se ejecuta aparece el siguiente error

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: failed to register layer: Error processing tar file(exit status 1): mkdir /config/apps: no such file or directory.
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help'.

¿Alguna sugerencia?

0
Dhananjay 3 oct. 2019 a las 01:17

1 respuesta

La mejor respuesta

El problema era que / config era un enlace simbólico

config -> /opt/ibm/wlp/usr/servers/defaultServer

Agregar archivos directamente a /opt/ibm/wlp/usr/servers/defaultServer/apps/ resolvió el problema

0
Dhananjay 5 nov. 2019 a las 22:19