Невозможно создать образ запуска docker (на основе Webshpere liberty) с помощью Kaniko
Я пытаюсь создать образ простого приложения Spring с базовым образом Websphere liberty, установленным в качестве корневого приложения.
Хотя он строится локально и работает нормально, тот же образ не создается должным образом при сборке с использованием Kaniko (используется Jenkins).
Пример проекта - https://github.com/dhananjay12/ci-cd-spring-project Файл Docker для 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
Локально он строится и работает нормально.
При сборке из kaniko изображение как бы повреждено, и во время работы я получаю следующую ошибку
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'.
Какие-либо предложения?
1 ответ
Проблема заключалась в том, что /config была символической ссылкой
config -> /opt/ibm/wlp/usr/servers/defaultServer
Добавляйте файлы прямо в /opt/ibm/wlp/usr/servers/defaultServer/apps/
решил проблему