docker - /app/run.sh: line 7: java: command not found while running docker image
问题描述
我在 docker 中创建了一个图像,并/app/run.sh: line 7: java: command not found
尝试使用它运行它sudo docker run com.project.question/question:1.0.0
.Here's my 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
FROM openjdk:8u121-jdk-alpine FROM 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"]
解决方案
以下不合并图像,它提取 2 个图像,然后基于第二个图像 Ubuntu 继续构建,该图像不包含 Java:
FROM openjdk:8u121-jdk-alpine
FROM ubuntu:18.04
您可能需要stretch
基于 openjdk 的映像,而不是 Alpine,然后删除第二FROM
行。
推荐阅读
- python - sum中遇到整数溢出
- arkit - 使用ARKit处理在线视频,有可能吗?
- python - 类名后面的括号 [ ] 是什么意思?
- python-3.x - TypeError:pivot_table 上的不可散列类型 numpy.ndarray
- windows - Windows 核心音频 API 中的 ERoles 枚举值代表什么?它们是相互排斥的吗?
- haskell - 查找列表中元素的索引
- php - 检查从生效日期开始的每个日期的第 n 项
- javascript - 取消下载后重定向到网页
- laravel - 为什么 Laravel ORM Eloquent 不保存正确的值?
- html - 碰撞检测矩形/矩形算法