怎样制作bin文件_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

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

2f6cf83a51035c667672ce822313ab60.png
455a47cdafd7ebaadea3a53ca39a5248.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值