解压 war 时 docker 构建无提示地失败

问题描述 投票:0回答:1

我创建了一个 Docker 构建文件

FROM openjdk:8-jdk-alpine
它根据以下脚本安装 Tomcat: https://github.com/terrestris/docker-tomcat

最后的步骤之一是将我的 War 解压到 /webapps 目录中,但是

docker build
在这一步失败了,并且没有指出 为什么

Docker日志的最后一部分是:

16.33   inflating: WEB-INF/lib/spring-web-6.0.13.jar
16.33   inflating: WEB-INF/lib/spring-security-web-6.1.5.jar
16.33   inflating: WEB-INF/lib/annotations-2.24.9.jar
16.33   inflating: WEB-INF/lib/log4j-api-2.20.0.jar
16.33   inflating: WEB-INF/lib/hibernate-core-6.2.13.Final.jar
16.33   inflating: WEB-INF/lib/spring-aspects-6.0.13.jar
16.33   inflating: WEB-INF/lib/json-utils-2.24.9.jar
16.33    creating: META-INF/maven/
16.33    creating: META-INF/maven/com.company/
16.33    creating: META-INF/maven/com.company/app/
16.33   inflating: META-INF/maven/com.company/app/pom.xml
16.33   inflating: META-INF/maven/com.company/app/pom.properties
16.33   inflating: WEB-INF/lib/spring-boot-jarmode-layertools-2.6.0.jar
16.33   inflating: WEB-INF/layers.idx
------
dockerfile:31
--------------------
  29 |     RUN mkdir /opt/apache-tomcat-8.5.37/webapps/ROOT
  30 |     ADD target/app-1.0-SNAPSHOT.war /tmp/my.war 
  31 | >>> RUN unzip /tmp/my.war -d /opt/apache-tomcat-8.5.37/webapps/ROOT
  32 |     RUN mkdir -p /usr/local/imageStore/img
  33 |     
--------------------
ERROR: failed to solve: process "/bin/sh -c unzip /tmp/my.war -d /opt/apache-tomcat-8.5.37/webapps/ROOT" did not complete successfully: exit code: 1

如何从这里诊断问题?

java docker tomcat8
1个回答
0
投票

我会做以下事情:

在输出错误的命令之前,我会添加一个阻塞命令,例如

CMD ["tail", "-f", "/dev/null"]
然后使用命令
docker exec -it [container name] bash
在容器内执行,然后尝试执行 unzip 命令并查看它在容器中输出什么错误。

希望这有帮助

© www.soinside.com 2019 - 2024. All rights reserved.