1

我有以下情况。我在 OpenShift 中创建了一个构建:

oc new-build --strategy docker --binary --docker-image centos:centos7 --name myapp

而且在当地没有什么花哨的。我有一个 .war 文件和 Dockerfile:

FROM registry.access.redhat.com/jboss-webserver-3/webserver31-tomcat7-openshift

COPY pdf-maker##1.2.war /opt/webserver/webapps/
COPY pdfmaker1.0.properties /opt/webserver/conf/

COPY fop.xconf /opt/webserver/_fop/conf/fop.xconf
COPY logo.gif /opt/webserver/_fop/img/
COPY PDF_Transformation.xslt /opt/webserver/_fop/transformation/

RUN mkdir -p /opt/webserver/fop

WORKDIR /opt/webserver

EXPOSE 8080

CMD ["/opt/webserver/bin/catalina.sh", "run"]

我像这样运行构建:

oc start-build myapp --from-dir . --follow

到目前为止一切顺利......但应用程序从未在 OpenShift 中启动。它说:“错误:无法启动容器“myapp”:来自守护进程的错误响应:oci 运行时错误:container_linux.go:235:启动容器进程导致“exec:\”/opt/webserver/bin/catalina.sh\ “:stat /opt/webserver/bin/catalina.sh:没有这样的文件或目录”我试图跳过CMD行但没有成功。我100%路径是正确的。

我尝试从本地 Dockerfile 构建 Docker 映像并启动它。在本地按预期工作,但在 OpenShift 中 - 不起作用。我做错了什么,但我不知道是什么。

如果有人指出我的问题,我将不胜感激。

解决了

原来我依赖的是罪魁祸首centos。解决方案是使用这个:

oc new-build --strategy docker --binary --docker-image registry.access.redhat.com/jboss-webserver-3/webserver31-tomcat7-openshift --name sinergia-pdf-maker
4

0 回答 0