我正在尝试对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,但没有一个解决问题。请帮我一些建议。
关于, 杰伊
答案 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”,“运行”]