构建 JDK8 镜像
下载 JDK8
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

创建镜像的构建目录 base_jdk8,并且将 JDK8 上传到服务器

编辑创建 Dockerfile
# Using Centos for base image
FROM centos:7
# author label
LABEL maintainer="Aron.li"
# install timezone gcc
ENV ENVIRONMENT DOCKER_PROD
RUN cd / && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
&& yum makecache
&& yum install -y wget aclocal automake autoconf make gcc gcc-c++ python-devel mysql-devel bzip2 libffi-devel epel-release
&& yum clean all
# cd /opt
WORKDIR /opt
# copy jdk8 to /opt, and decompression
ADD jdk-8u271-linux-x64.tar.gz /opt
# set jdk8 env
ENV JAVA_HOME=/opt/jdk1.8.0_271
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
# exec java -version
CMD ["java","-version"]
构建镜像
docker build -f Dockerfile -t base_jdk8:v1.0 .
执行如下:

生成镜像如下:

启动镜像,测试java环境
编写一个启动镜像的脚本 restart_service.sh
basedir=`pwd`
name='base_jdk8'
image='base_jdk8:v1.0'
docker stop $name
docker rm $name
docker run -it --privileged=true --name $name $image /bin/bash
测试如下:

基于 JDK8 的镜像,构建SpringBoot服务
上传 SpringBoot 的 jar 包

编辑创建 Dockerfile
# Using JDK8 for base image
FROM base_jdk8:v1.0
# author label
LABEL maintainer="Aron.li"
# install timezone gcc
ENV ENVIRONMENT DOCKER_PROD
RUN cd / && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# cd /opt
WORKDIR /opt
# copy jar to /opt, and decompression
ADD autotest-0.0.1-SNAPSHOT.jar /opt
# exec java -jar autotest-0.0.1-SNAPSHOT.jar
CMD ["java","-jar","autotest-0.0.1-SNAPSHOT.jar"]
构建镜像
docker build -f Dockerfile -t autotest:v1.0 .
启动镜像服务
编写一个启动镜像的脚本 restart_service.sh
#!/bin/bash
basedir=$(cd `dirname $0`;pwd)
host_ip=`python -c "import socket;print([(s.connect(('8.8.8.8', 53)), s.getsockname()[0], s.close()) for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1])"`
name='autotest'
image='autotest:v1.0'
docker stop $name
docker rm $name
#docker run -it --name $name $image /bin/bash
docker run -d --name $name -p 8080:8080 -h $name
--add-host=mysql_host:$host_ip
--add-host=mongo_host:$host_ip
--add-host=redis_host:$host_ip
$image
原文始发于微信公众号(海洋的渔夫):Docker基于Centos7构建JDK8镜像
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/30717.html