自己制作一个java:11的docker镜像

自己制作一个java:11的docker镜像

1、资源准备

下载java11的jdk

下载地址:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html

选择linux-64的版本(jdk-11.0.7_linux-x64_bin.tar.gz)

2、创建Dockerfile文件

文件内容如下:

#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打印时间

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111203.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • docker-compose 集群_hadoop完全分布式搭建步骤

    docker-compose 集群_hadoop完全分布式搭建步骤前言实际工作中我们部署一个应用,一般不仅仅只有一个容器,可能会涉及到多个,比如用到数据库,中间件MQ,web前端和后端服务,等多个容器。我们如果一个个去启动应用,当项目非常多时,就很难记住了,所有

  • docker服务启动,重启,关闭命令

    docker服务启动,重启,关闭命令最近刚学习dockerdocker启动命令,docker重启命令,docker关闭命令启动systemctlstartdocker守护进程重启sudosystemctldaemon-reload重启docker服务systemctlrestartdocker重启docker服务sudoservicedockerrestart关闭docker…

  • docker部署web项目_小钢炮docker安装web

    docker部署web项目_小钢炮docker安装web前言前面我们运行的容器并没有一些什么特别的用处。接下来让我们尝试使用docker构建一个web应用程序。我们将在docker容器中运行一个PythonFlask应用来运行一个web

  • docker-compose 集群_docker集群搭建

    docker-compose 集群_docker集群搭建前言实际工作中我们部署一个应用,一般不仅仅只有一个容器,可能会涉及到多个,比如用到数据库,中间件MQ,web前端和后端服务,等多个容器。我们如果一个个去启动应用,当项目非常多时,就很难记住了,所有

  • docker容器ip和端口分配_docker iptables failed

    docker容器ip和端口分配_docker iptables failed当我们用docker新启动一个容器时,有时候想要查看容器的ip,用ipaddr命令,却提示找不到命令:这时我们可以用命令:aptupdate&&aptinstall-yiproute2进行安装,安装好之后就可以正常使用了:…

  • docker镜像操作_docker 本地镜像

    docker镜像操作_docker 本地镜像前言Docker的三大核心概念:镜像、容器、仓库。初学者对镜像和容器往往分不清楚,学过面向对象的应该知道类和实例,这跟面向对象里面的概念很相似我们可以把镜像看作类,把容器看作类实例化后的对象。|

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号