Google Cloud Run 错误:容器无法启动DSS - 数字签名服务

问题描述

我正在尝试让以下 docker 容器在谷歌云上运行。容器在本地工作。在云外壳中,容器也与“docker run”一起工作。在谷歌云上,我可以看到 8080 端口的网页预览。创建服务时,容器未启动。日志只说“tomcat已启动,容器名为exit(0)”。

我在 server.xml 中的连接器中添加了 address = 0.0.0.0。但这也不起作用。

也许有人可以给我一个提示。 谢谢 汤姆

FROM openjdk:8-alpine

RUN  apk update && apk add unzip

ADD https://ec.europa.eu/cefdigital/artifact/repository/esignaturedss/eu/europa/ec/joinup/sd-dss/dss-demo-bundle/5.8.1/dss-demo-bundle-5.8.1.zip /tmp
RUN unzip /tmp/dss-demo-bundle-5.8.1.zip -d /tmp
RUN mv /tmp/dss-demo-bundle-5.8.1 /dss

RUN chmod +x /dss/apache-tomcat-8.5.61/bin/catalina.sh

copY ./startup.sh /dss/

ENTRYPOINT [ "/dss/startup.sh" ]
CMD [ "/bin/sh" ]

这是startup.sh的源代码

#!/bin/sh
set -e
echo "`/bin/sh /dss/apache-tomcat-8.5.61/bin/startup.sh`"
exec "$@"

解决方法

谢谢,解决方案是,我将tomcat启动更改为“catalina.sh run”,将tomcat作为前台进程启动。

第二件事:我必须删除 tomcat server.xml 文件中的“address = 0.0.0.0”

#!/bin/sh
set -e
echo "`/bin/sh /dss/apache-tomcat-8.5.61/bin/catalina.sh run`"
exec "$@"