基于openjdk部署镜像,POI报空指针异常的坑

原始使用镜像:openjdk8-alpine

FROM alpine:3.10

RUN echo 'https://mirrors.aliyun.com/alpine/v3.10/main' > /etc/apk/repositories \
    && echo 'https://mirrors.aliyun.com/alpine/v3.10/community' >> /etc/apk/repositories \
    && apk update && apk add --no-cache tzdata openjdk8 \
    && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone \
    && echo "export JAVA_HOME=/usr/lib/jvm/default-jvm" >> /etc/profile \
    && echo "export PATH=$JAVA_HOME/bin:$PATH" >> /etc/profile 

ENV JAVA_HOME=/usr/lib/jvm/default-jvm LANG=zh_CN.UTF8
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$JAVA_HOME/jre/bin:$JAVA_HOME/bin

COPY startup.sh /startup.sh

CMD ["/bin/sh"]

在这里插入图片描述
安装fontconfig后仍不起作用

FROM alpine:3.10

RUN echo 'https://mirrors.aliyun.com/alpine/v3.10/main' > /etc/apk/repositories \
    && echo 'https://mirrors.aliyun.com/alpine/v3.10/community' >> /etc/apk/repositories \
    && apk update && apk add --no-cache tzdata openjdk8 fontconfig \
    && fc-cache --force \
    && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone \
    && echo "export JAVA_HOME=/usr/lib/jvm/default-jvm" >> /etc/profile \
    && echo "export PATH=$JAVA_HOME/bin:$PATH" >> /etc/profile 

ENV JAVA_HOME=/usr/lib/jvm/default-jvm LANG=zh_CN.UTF8
ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$JAVA_HOME/jre/bin:$JAVA_HOME/bin

COPY startup.sh /startup.sh

CMD ["/bin/sh"]

更换oraclejdk

  1. 登录docker hub
  2. 搜素Oracle Java 8 SE,找到官方镜像
  3. 获取授权
  4. 填写必要信息
  5. 获得安装教程
  6. 执行docker pull store/oracle/serverjre:8
  7. 修改应用的Dockerfile FROM store/oracle/serverjre:8
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker部署OpenJDK镜像的步骤如下: 1. 首先,需要在Dockerfile中指定使用的OpenJDK版本和Maven版本。可以使用ARG指令来定义变量,例如ARG JDK_VERSION=11和ARG MAVEN_VERSION=3.6.3。然后,在构建镜像的过程中,使用这些变量来下载和安装对应的OpenJDK和Maven。 2. 在Dockerfile中,使用COPY指令将项目的构建物(例如JAR文件)复制到镜像中的指定路径。例如,可以使用COPY ./target/okay-shortLink-service.jar /app/来将构建物复制到/app/目录下。 3. 使用docker commit命令将修改后的镜像封装起来,并推送到Docker仓库中。例如,可以使用docker commit命令将修改后的镜像保存为alpine-java,并推送到仓库debiaobiao/alpine-java中。具体命令为docker commit alpine-java ×××debiaobiao/alpine-java和docker push ×××debiaobiao/alpine-java。 4. 最后,在部署时,选择之前配置好的仓库,并确保仓库名与项目一致。可以使用标签来区分不同的镜像版本。例如,可以使用默认的${DATETIME}作为标签。此外,还需要确保Dockerfile路径正确,可以点击小问号?来获取路径提示。 希望以上信息对您有所帮助。 #### 引用[.reference_title] - *1* *3* [Docker部署Java镜像](https://blog.csdn.net/weixin_44783934/article/details/129696327)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Docker封装Java环境镜像(Alpine+OpenJDK)](https://blog.csdn.net/weixin_34090562/article/details/91694339)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值