java-11-alpine基础镜像构建
- 准备动作
- Linux系统,安装Docker
- 新增工作目录,比如~/baseimg,进入工作目录
- 创建字体目录~/baseimg/fonts/truetype, 这里的truetype文件夹名字可自定义,对应上Dockerfile中的即可
- 上传字体文件【ttl,ttc等】至truetype
- 编辑基础镜像Dockerfile
-
1 FROM alpine:3.17.3 2 CMD ["/bin/sh"] 3 MAINTAINER carliels@163.com 4 # 创建工作目录 5 WORKDIR /root 6 # 修改软件包源地址(此处使用 清华大学的源地址) 7 RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tuna.tsinghua.edu.cn/g' /etc/apk/repositories 8 # 更新软件包 9 RUN apk update upgrade 10 RUN apk add --no-cache ca-certificates tzdata tree curl tini 11 RUN apk add gcompat 12 RUN rm -rf *.apk && rm -rf /var/cache/apk/* && rm -rf locale.md 13 # 增加字体支持 14 RUN apk add --no-cache ttf-dejavu fontconfig 15 # 增加TrueType字体 16 COPY fonts/truetype /usr/share/fonts/truetype 17 # tzdata 是可以配置时区,这里默认使用上海时区 18 RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone 19 RUN { echo '#!/bin/sh'; echo 'set -e'; echo; echo 'dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"'; } > /usr/local/bin/docker-java-home 20 RUN chmod +x /usr/local/bin/docker-java-home 21 # 支持使用中文 22 ENV LANG=zh_CN.UTF-8 23 ENV LANGUAGE=zh_CN.UTF-8 24 25 # 以下为安装jdk 11 的命令 , 目前alpine:3.15 里面软件包最新版本 jdk版本 11.0.15 26 ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk 27 ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/jvm/java-11-openjdk/jre/bin:/usr/lib/java-11-openjdk/bin 28 RUN apk add --no-cache openjdk11 && [ "$JAVA_HOME" = "$(docker-java-home)" ] 29 30 CMD ["java","-version"]
-
- 命令行构建镜像
-
1 # 构建镜像 2 docker build -t java-11-alpine:v1 .
-
- 推送镜像至仓库
-
1 # 可选动作,如果有镜像仓库 2 docker login --name=<你的账号> -- password=<你的密码> <仓库地址> 3 docker tag java-11-alpine:v1 <仓库地址/目录>/java-11-alpine:v1 4 docker push <仓库地址/目录>/java-11-alpine:v1 5 docker logout
-
- 使用镜像
-
1 FROM <仓库地址/目录>/java-11-alpine:v1 2 MAINTAINER <维护人> 3 # 定义工作目录 4 WORKDIR /home 5 # 复制jar包到执行目录 6 ADD target/*.jar app.jar 7 # 暴露端口, 多个端口则写多行EXPOSE 8 EXPOSE 8080 9 10 ENTRYPOINT ["tini","java","-Dfile.encoding=utf-8","-jar"] 11 CMD ["app.jar"]
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下