1、资源准备
下载java11的jdk
选择linux-64的版本(jdk-11.0.7_linux-x64_bin.tar.gz)
2、创建Dockerfile文件
文件内容如下:
代码语言:javascript复制#1.指定基础镜像,并且必须是第一条指令
FROM centos:7
#2.指明该镜像的作者和其电子邮件
MAINTAINER taolong.hong "taolong.hong@qq.com"
#3.在构建镜像时,指定镜像的工作目录,之后的命令都是基于此工作目录,如果不存在,则会创建目录
WORKDIR /soft/jdk
#4.一个复制命令,把jdk安装文件复制到镜像中,语法:ADD <src>... <dest>,注意:jdk*.tar.gz使用的是相对路径
ADD jdk-11.0.7_linux-x64_bin.tar.gz /soft/jdk/
#5.设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
#6.配置环境变量
ENV JAVA_HOME=/soft/jdk/jdk-11.0.7
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
#容器启动时需要执行的命令
#CMD ["java","-version"]
上面都写了注释,也比较简单,不多说了
3、构建镜像(docker build)
我这里jdk-11.0.7_linux-x64_bin.tar.gz 和Dockerfile放在同一个目录下面的,直接用docker build指定当前路径即可
docker build -t “仓库路径xxx/java:11” .
注意后面的“.”表示当前路径,如果不是当前路径需要用-f指定
4、推送到远程仓库
前面如果-t指定了仓库的路径,则直接使用docker push即可 ,否则用docker tag
5、测试
(1)测试centos时区:进入容器输入date
(2)测试java环境:进入容器输入java -version
(3)测试jdk时区:编写一个.java文件,里面打印LocalDateTime打印时间
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/111203.html原文链接:https://javaforall.cn