专栏首页千里行走kubernetes-16:制作oraclejdk镜像

kubernetes-16:制作oraclejdk镜像

原创;

微信公众号:千里行走;

头条技术号:实战架构;

目录

(0).github地址

(1).oraclejdk镜像制作步骤

(2).Dockerfile重点配置详解

(3).oraclejdk-image验证命令

正文

(0).github地址

笔者将整个过程和文件资源上传到了github工程:

https://github.com/hepyu/oraclejdk-docker-image

(1).oraclejdk镜像制作步骤

顺次执行shell脚本:

1.sh process-jdk-tar-gz.sh 用于修改下载的官方jdk压缩包为合适的文件路径,具体可以查看shell脚本。

2.sh docker.build.sh 进行镜像制作,将步骤1的jdk压入镜像。

本工程使用的是oracle-jdk8u181版本,可以根据自己需要更换版本,本工程包含JDK(太大无法上传到github)。

(2).Dockerfile重点配置详解

#基础镜像

FROM centos

#前期准备,比如创建运行用户,相关目录,相关的基础命令如telnet等通过yum安装到镜像中。

RUN useradd inc ;mkdir -p /app/3rd;mkdir -p /app/inc/apps ;mkdir -p /data/inc/logs/tomcat ;chown -R inc:inc /app/inc/ /data/inc ;ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && /usr/bin/yum -y install net-tools telnet tcpdump iproute && /usr/bin/yum clean all && ln -s /app/3rd/mysql/default/bin/mysql /usr/bin/mysql && ln -s /app/3rd/redis/default/bin/redis-cli /usr/bin/redis-cli && echo 'alias log="cd /data/inc/logs/$HOSTNAME"' >> ~/.bashrc

#将oraclejdk压入镜像;由于源文件是个归档文件(压缩文件),则docker会自动帮解压;需要注意:jdk.tar.gz解压后的目录要和后边的ENV JAVA_HOME的配置相匹配,否则运行容器后找不到java命令。

ADD jdk.tar.gz /app/3rd/

#默认将mysql和redis-cli压入镜像,很多情况下都要用到。

COPY mysql /app/3rd/mysql/default/bin/ COPY redis-cli /app/3rd/redis/default/bin/

#配置环境变量,注意路径和前边的ADD命令中解压后的路径要匹配。

ENV JAVA_HOME /app/3rd/jdk/default ENV PATH $PATH:/$JAVA_HOME/bin ENV LANG en_US.UTF-8

(3).oraclejdk-image验证命令

docker run --rm oraclejdk-linux-64:8u181 java -version

如果镜像制作成功,打印如下信息:

本文分享自微信公众号 - 千里行走(a_thousands_of_miles)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • win10下安装配置mongodb

    mongod --config c:\MongoDB\etc\mongo.conf --install --serviceName "MongoDB"

    FinGet
  • 10个可以快速用Python进行数据分析的小技巧

    一些小提示和小技巧可能是非常有用的,特别是在编程领域。有时候使用一点点黑客技术,既可以节省时间,还可能挽救“生命”。

    统计学家
  • NASA自曝遭入侵,黑客利用树莓派窃取500MB火星任务数据

    据外媒报道,NASA总监察长办公室(OIG)于本周发布的一份报告显示,2018年4月,有黑客攻击了他们的网络并盗走了约500M与火星任务相关的数据。攻入的切点则...

    FB客服
  • java.sql.SQLException: The server time zone value:xx异常

    但是,我们知道,北京所以东8区。所以修改为北京时间应该是:&serverTimezone=GMT%2B8

    凯哥Java
  • Sharding-JDBC 使用入门和基本配置

    Sharding-JDBC定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可...

    宜信技术学院
  • 我的第二本译作《精通OpenStack》上架啦:前言、目录和样章

        今天,随着新功能和子项目的增加,OpenStack已成为一个不断扩展的大型开源项目。随着数以百计大型企业采用并不断为OpenStack生态系统做出贡献,...

    力哥聊运维与云计算
  • 在 Spring 框架中,设计模式是怎么用的?

    设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆。

    凯哥Java
  • MySQL 百万级分页优化(Mysql千万级快速分页)

    SELECT * FROM table ORDER BY id LIMIT 1000, 10; 

    凯哥Java
  • spring boot连接mysql提示The server time zone value xxx错误

    在使用spring boot +Mysql组合的时候。遇到了连接数据库错误。信息:The server time zone value xxx

    凯哥Java
  • mysql 如何优化left join

    今天遇到一个left join优化的问题,搞了一下午,中间查了不少资料,对MySQL的查询计划还有查询优化有了更进一步的了解,做一个简单的记录:  selec...

    凯哥Java

扫码关注云+社区

领取腾讯云代金券