docker部署Java项目,解决openjdk:8-jdk-alpine镜像字体问题
一、问题
我们最初部署Java项目用到的openjdk:8-jdk-alpine,最后发现此镜像存在一定问题,,字体问题前端验证码不显示
二、解决
第一种方法:
# 使用官方的Java运行时作为基础镜像
FROM openjdk:8-jdk-alpine
# 更换Alpine的镜像源为阿里云镜像源
RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories
# 安装tzdata, bash, ttf-dejavu 和 fontconfig
RUN apk add --no-cache tzdata bash ttf-dejavu fontconfig \
&& fc-cache -f -v
# 将你的JAR文件复制到Docker镜像的/api目录下
COPY playwith.jar /api/playwith.jar
# 设置工作目录为/api
WORKDIR /api
# 暴露端口(假设你的应用监听的是8080端口,但你想要映射到主机的8181端口)
EXPOSE 8181
# 运行JAR文件,这里假设JAR内部监听的是8080端口
CMD ["java", "-jar", "playwith.jar"]
后出现超时问题一直无法解决
第二种 放弃openjdk:8-jdk-alpine 改用本地jdk 要将jdk-8u151-linux-x64.tar.gz和Dockerfile和jar包放在同一目录
构建镜像
启动容器