OCI运行时创建失败

时间:2019-08-11 05:05:18

标签: docker dockerfile

我正在尝试对spring boot服务进行docker化。我开始引用此article。我能够构建映像,但无法运行它。当我尝试运行容器时,它失败并显示以下错误。

  

OCI运行时创建失败:container_linux.go:345:启动容器   进程导致\“ exec:\\” catalina.sh \\“:找不到可执行文件   在$ PATH \“中:未知

用于构建映像的命令: docker docker build --tag = my-image。 -无缓存 用于运行容器的命令: docker container run -p 8080:8080 my-image

Docker文件:

FROM openjdk:8-jdk-alpine
COPY ./target/my-service.war /usr/local/tomcat/webapps/my-service.war
CMD ["catalina.sh","run"]

我正在使用Windows 10 Docker桌面,并且尝试使用其他基本映像,重置docker,但没有一个解决问题。请帮我一些建议。

关于, 杰伊

2 个答案:

答案 0 :(得分:1)

catalina.sh来自tomcat

您在帖子中提到的article中,它告诉您使用:

From tomcat:8.0.51-jre8-alpine
CMD ["catalina.sh","run"]

但是,您现在使用:

FROM openjdk:8-jdk-alpine
CMD ["catalina.sh","run"]

您使用的基本映像没有安装tomcat,因此您肯定找不到catalina.sh

答案 1 :(得分:0)

使用以下命令找到catalina.sh

1.docker运行-it --rm(ur_image_name)/ bin / bash 2./usr/local/tomcat/bin 3.ls

它将列出bin目录中的所有文件。在那里,您会看到catalina.sh。 现在复制catalina.sh的整个路径,就我而言,它是“ \ usr \ local \ tomcat \ bin \ catlina.sh”

像这样将其粘贴到CMD中的DockerFile中 CMD [“ \ usr \ local \ tomcat \ bin \ catlina.sh”,“运行”]