Jalena Blog

  • 首页
  • 程序开发
    • Java
    • Spring
    • SpringBoot
    • SpringMvc
    • Python
    • Odoo
    • C#
    • SQL
    • Web
    • Linux
  • 移动设备
    • Android
    • Router
  • 杂七杂八
    • 我的废话
    • 音频
    • 视频
    • 常用软件
  • 关于
  1. 首页
  2. 软件开发
  3. Java
  4. 正文

Dokcer JDK 基础镜像

2022-12-20

最近在项目上遇到了一个奇怪的问题,使用之前的jdk镜像时总数莫名其妙的出现问题,索性自己编译一个生产用的基础镜像。

创建镜像

创建的镜像本着最小化的原则,那当然是选择Alpine了,再者就是选择相应的JDK了,以前一直使用的是adoptopenjdk的包,但今天看到这个组织已经换到了新的地方。新的名字居然是eclipse-temurin。

DEPRECATION NOTICE

This image is officially deprecated in favor of the eclipse-temurin image, and will receive no further updates after 2021-08-01 (Aug 01, 2021). Please adjust your usage accordingly.

本着简单高效的方式,这里就直接From了eclipse-temurin的jdk17版本,更多的版本可以在这里去寻找:eclipse-temurin local

错误

使用eclipse-temurin的JDK导致字体一直报错,索性用回adoptopenjdk/openjdk8-openj9

FROM eclipse-temurin:17-jdk-alpine

LABEL maintainer="jalena@bcsytv.com"

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tencent.com/g' /etc/apk/repositories && \
    apk --no-cache --update add tzdata fontconfig ttf-dejavu && \
    fc-cache --force && \
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asia/Shanghai" > /etc/timezone

COPY ./font /usr/share/fonts/win/

这里只是安装了部分可能在运维时需要的包,同时拷贝了Windows 10下的宋体、新宋体以及微软雅黑字体到容器中。若需要更多的字体可以在C:\Windows\Fonts目录下寻找并Copy进容器。

包含的字体:

  • /usr/local/share/fonts/win/simhei.ttf: SimHei,黑体:style=Regular,Normal...
  • /usr/local/share/fonts/win/simsun.ttc: SimSun,宋体:style=Regular,常规
  • /usr/local/share/fonts/win/msyh.ttc: Microsoft YaHei,微软雅黑:style=Regular,Norma...
  • /usr/local/share/fonts/win/msyhbd.ttc: Microsoft YaHei,微软雅黑:style=Bold...
  • /usr/local/share/fonts/win/msyhl.ttc: Microsoft YaHei UI:style=Light,Regular
  • /usr/local/share/fonts/win/msyhbd.ttc: Microsoft YaHei UI:style=Bold
  • /usr/local/share/fonts/win/msyhl.ttc: Microsoft YaHei,微软雅黑Light:style=Light,Regular
  • /usr/local/share/fonts/win/msyh.ttc: Microsoft YaHei UI:style=Regular,Normal

编译镜像

docker build --no-cache -t 17-jdk-alpine-cn .

测试

# 测试容器字体是否安装成功
docker run --rm -it 17-jdk-alpine-cn fc-list

# 查看容器内中文字体
docker run --rm -it 17-jdk-alpine-cn fc-list :lang=zh

推送hub

# 登录
docker login

# 为镜像打tag
docker tag 17-jdk-alpine-cn:latest jalena/17-jdk-alpine-cn

# 推送
docker push jalena/17-jdk-alpine-cn

使用镜像

镜像已经推送到中央仓库,可以直接拉取s使用。

docker pull jalena/17-jdk-alpine-cn:latest

这里给一个我在项目中的示例

FROM jalena/17-jdk-alpine-cn:latest

LABEL maintainer="Jalena jalena@bcsytv.com"

RUN mkdir -p /blade/pda
WORKDIR /blade/pda

EXPOSE 8200

ADD ./target/blade-pda.jar ./app.jar

ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]

CMD ["--spring.profiles.active=test"]
标签: docker
最后更新:2024-12-10

Jalena

原创内容,转载请注明出处! 部分内容来自网络,请遵守法律适用!

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

【腾讯云】云服务器特惠热卖中
文章目录
  • 创建镜像
    • 编译镜像
    • 测试
    • 推送hub
  • 使用镜像
标签聚合
java Centos odoo 其他 生活 wordpress docker MySql
分类
  • Android / 4篇
  • C# / 10篇
  • Codec / 9篇
  • Conversion / 14篇
  • Editing / 16篇
  • Java / 47篇
  • Javascript / 3篇
  • Linux / 29篇
  • Odoo / 25篇
  • Python / 6篇
  • SQL / 30篇
  • Web / 3篇
  • Windows / 4篇
  • 我的日记 / 10篇
  • 杂七杂八 / 93篇
  • 软件开发 / 72篇
  • 非线性编辑 / 1篇

COPYRIGHT © 2026 Jalena Blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备17025376号