/app/run.sh:第7行:java:运行docker image时找不到命令

时间:2019-09-12 17:59:22

标签: docker dockerfile docker-run

我已经在docker中创建了一个映像,并尝试使用/app/run.sh: line 7: java: command not found 运行时有sudo docker run com.project.question/question:1.0.0 。这是我的run.sh

#!/bin/bash

SPRING_ACTIVE_PROFILE=${SPRING_ACTIVE_PROFILE:-"local-docker"}
GIT_BRANCH_LABEL=${GIT_BRANCH_LABEL:-"develop"}

java -jar -Djava.security.egd=file:/dev/urandom -    Dspring.profiles.active=${SPRING_ACTIVE_PROFILE} -    Dgit.config.active.branch=${GIT_BRANCH_LABEL} -Duser.timezone=Asia/Kolkata -XX:+PrintFlagsFinal $JAVA_OPTIONS -jar ${APP_JAR_NAME}.jar

这是我的DockerFile     来自openjdk:8u121-jdk-alpine     来自ubuntu:18.04

ENV APP_JAR_NAME question

RUN apt-get update
RUN apt-get install -y curl apt-utils wget unzip
RUN rm -rf /var/chache/apk/*
RUN mkdir /app

ADD ${APP_JAR_NAME}.jar /app/
COPY run.sh /app/
RUN chmod +x /app/run.sh

WORKDIR /app

EXPOSE 8080

ENTRYPOINT ["/bin/bash","-c"]
CMD ["/app/run.sh"]

我的泊坞窗中有以下图像 enter image description here 我正在寻找解决方案几个小时,但没有发现任何有用的信息。请帮我解决这个问题。谢谢

1 个答案:

答案 0 :(得分:0)

以下内容不合并图像,它提取2个图像,然后基于第二个图像Ubuntu(不包含Java)继续构建:

FROM openjdk:8u121-jdk-alpine
FROM ubuntu:18.04

您可能想要基于stretch的openjdk图像,而不是Alpine,然后删除第二行FROM