安装依赖的软件;
把OpenJDK的源码复制到镜像中;
Linux:我选择了CentOS 7,之前试过Ubuntu 16.04,但是在Configure的时候提示"freetype"没有安装,我按照提示去装了,再次Configure的时候继续提示"freetype"没有安装......(此问题现在还没解决,如果您解决过相同问题,请您告诉一下解决方法,谢谢了!)
OpenJDK源码,这次要编译的是OpenJDK 8,源码的下载地址在这里[1]。
Bootstrap JDK:即编译时要用到的JDK,下载了OpenJDK的源码后,解压开可以看到“README-builds.html”这个文件,里面有对Bootstrap JDK的描述:
读者们从Git上clone下来之后直接执行Docker build就能在本地构建镜像;
daocloud.io网站上支持通过执行GitHub目录的方式在线构建镜像,后面我们会实践在daocloud.io上构建镜像并部署到腾讯云或者阿里云服务器上。
split -b 50m jdk-7u71-linux-x64.rpm jdkrpm-
split -b 50m openjdk-8-src-b132-03_mar_2014.zip openjdksrc-
cat jdkrpm-* > jdk-7u71-linux-x64.rpm
cat openjdksrc-* > openjdk-8-src-b132-03_mar_2014.zip
#!/bin/bash
$WORK_PATH/$OPENJDK_SRC_DIR/configure
echo "start make"
cd $WORK_PATH/$OPENJDK_SRC_DIR
make all ZIP_DEBUGINFO_FILES=0 DISABLE_HOTSPOT_OS_VERSION_CHECK=OK
# Docker image of compile and build enviroment for openjdk8
# VERSION 0.0.1
# Author: bolingcavalry
#基础镜像使用CentOS 7
FROM centos:centos7
#作者
MAINTAINER BolingCavalry <zq2599@gmail>
#定义工作目录
ENV WORK_PATH /usr/local
#定义JDK 1.7的文件名
ENV JDK_RPM_FILE jdk-7u71-linux-x64.rpm
#定义OpenJDK源码的文件名
ENV OPENJDK_SRC_ZIP openjdk-8-src-b132-03_mar_2014.zip
#定义解压缩后的文件名
ENV OPENJDK_SRC_DIR openjdk
#yum更新
RUN yum -y update
#安装工具集
RUN yum -y groupinstall "Development Tools"
#安装即将用到的软件
RUN yum -y install unzip libXtst-devel libXt-devel libXrender-devel cups-devel freetype-devel alsa-lib-devel which
#把分割过的JDK 1.7安装文件复制到工作目录
COPY ./jdkrpm-* $WORK_PATH/
#用本地分割过的文件恢复原有的JDK 1.7的安装文件
RUN cat $WORK_PATH/jdkrpm-* > $WORK_PATH/$JDK_RPM_FILE
#本地安装JDK 1.7
RUN yum -y localinstall $WORK_PATH/$JDK_RPM_FILE
#把分割过的OpenJDK 8的源码压缩包复制到工作目录
COPY ./openjdksrc-* $WORK_PATH/
#用本地分割过的文件恢复原有的OpenJDK 8的源码压缩包
RUN cat $WORK_PATH/openjdksrc-* > $WORK_PATH/$OPENJDK_SRC_ZIP
#解压缩源码
RUN unzip $WORK_PATH/$OPENJDK_SRC_ZIP -d $WORK_PATH
#复制启动编译的shell
COPY ./start_make.sh $WORK_PATH/$OPENJDK_SRC_DIR/
#给执行文件增加可执行权限:Configure文件
RUN chmod a+x $WORK_PATH/$OPENJDK_SRC_DIR/configure
#给执行文件增加可执行权限:启动编译文件
RUN chmod a+x $WORK_PATH/$OPENJDK_SRC_DIR/start_make.sh
#删除分割文件
RUN rm $WORK_PATH/jdkrpm-*
#删除分割文件
RUN rm $WORK_PATH/openjdksrc-*
#删除JDK安装包文件
RUN rm $WORK_PATH/$JDK_RPM_FILE
#删除OpenJDK源码压缩文件
RUN rm $WORK_PATH/$OPENJDK_SRC_ZIP
docker build -t bolingcavalryopenjdk:0.0.1 .
docker run --name=jdk001 -idt bolingcavalryopenjdk:0.0.1
docker exec -it jdk001 /bin/bash
.zip
本文发布于:2024-02-04 06:11:02,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170700735152979.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |