美文网首页docker
记录docker第一次选jdk镜像(2)

记录docker第一次选jdk镜像(2)

作者: 燃燃的爸爸 | 来源:发表于2019-10-14 14:28 被阅读0次

需求

1.镜像要尽可能的小
2.字符集必须支持中文
3.时区是UTC+8
4.字体的支持
5.运行在容器的java进程pid!=1(如果java进程pid=1会导致jmap等工具使用不了。这里使用tini)

措施

  • 基于以上要求我们构建出一下镜像
  • 首先使用apline作为基础镜像足够小只有5M
  • 由于alpine自带支持中文的字符集,这里我们只需要将LANG设置为C.UTF-8即可完美的支持中文。
  • 国内软件源首选阿里云啦,顺道配置一下阿里云的镜像源,加速我们的镜像构建速度。
  • 配置UTC+8时区需要安装tzdata,安装完成之后配置一下即可。
  • 目前alpine携带JDK版本为1.80_171。
  • 使用tini 包装java进程。

打包基础jdk镜像

FROM alpine:3.8
MAINTAINER cf 442498598@qq.com
ENV LANG=C.UTF-8 \
    JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk/jre \
    PATH=$PATH:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin \
    TZ=Asia/Shanghai
RUN echo "" > /etc/apk/repositories \
&& echo "https://mirrors.aliyun.com/alpine/v3.8/main/" >> /etc/apk/repositories \
&& echo "https://mirrors.aliyun.com/alpine/v3.8/community/" >> /etc/apk/repositories \
&& apk update && apk add --no-cache openjdk8 ca-certificates tzdata ttf-dejavu tini \
&& rm -rf /var/cache/apk/* \
&& ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

这个相当于已经把jdk环境搭建完毕,下面只要把具体的应用封装在这镜像之上即可。
比如我现在需要跑一个

FROM alpine-jdk-1.8:v1
ADD eureka-server-1.0.0-SNAPSHOT.jar /usr/eureka-server-1.0.0-SNAPSHOT.jar
EXPOSE 1111
CMD ["java","jar","/usr/eureka-server-1.0.0-SNAPSHOT.jar"]

相关文章

  • 记录docker第一次选jdk镜像(2)

    需求 1.镜像要尽可能的小2.字符集必须支持中文3.时区是UTC+84.字体的支持5.运行在容器的java进程pi...

  • 记录docker第一次选jdk镜像(1)

    需求:编写一个基于alpine的jdk1.8环境 网上很多包括官方都是基于jre的,因为微服务其实只要服务跑起来即...

  • IDEA调试Docker环境

    IDEA调试Docker环境 1.准备环境 2.拉取jdk8版本镜像 3.远程部署docker镜像 4.配置ide...

  • docker容器的镜像管理

    搜索镜像 docker search 选镜像的建议: 1,优先考虑官方 2,stars数量多 官方镜像仓库地址:...

  • 构建 JDK1.7+tomcat8镜像

    构建 JDK1.7 + Tomcat8 Docker 镜像 Tomcat 本身是有现成的官方镜像的。 Docker...

  • 在docker中运行jenkins

    1.编写Dockfile文件 ~jenkins的docker 镜像 带maven+git+jdk1.8 2.在宿主...

  • docker基础

    1.docker安装 2.docker镜像 docker image 2.1 搜索拉取镜像 2.2 查询镜像 2....

  • 制作centos7.4 jdk8镜像

    背景 docker官方镜像仓库中,openjdk镜像比较多。oracle jdk镜像比较少。今天就结合自己项目的情...

  • docker 创建Java环境镜像

    如何创建Java环境镜像? 1、准备 jdk-8u221-linux-x64-0.tar.gz2、编写Docker...

  • Docker命令

    1.Docker命令 2.镜像命令 --查看镜像 docker images -a【列出本地所有镜像】docker...

网友评论

    本文标题:记录docker第一次选jdk镜像(2)

    本文链接:https://www.haomeiwen.com/subject/wzylmctx.html