自己制作一个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打印时间

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

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

(0)
上一篇 2021年8月4日 上午9:00
下一篇 2021年8月4日 上午9:23


相关推荐

  • 如何保证docker2375端口的安全

    如何保证docker2375端口的安全情景再现:之前有很多朋友提过,当使用docker-maven-plugin打包SpringBoot应用的Docker镜像时,服务器需要开放2375端口。由于开放了端口没有做任何安全保护,会引起安全漏洞,被人入侵、挖矿、CPU飙升这些情况都有发生,今天我们来聊聊如何解决这个问题。问题产生的原因首先我们要明白问题产生的原因,才能更好地解决问题!Docker为了实现集群管理,提供了远程管理的端口。DockerDaemon作为守护进程运行在后台,可以执行发送到管理端口上的Docker命令。当我们修改do

    2022年6月13日
    221
  • ubuntu 完全干净的卸载docker

    ubuntu 完全干净的卸载docker1 删除某软件 及其安装时自动安装的所有包 sudoapt getautoremov cedocker enginedocker iocontainerd 删除 docker 其他没有没有卸载 dpkg l grepdocker3 卸载没有删除的 docker 相关插件 结合自己电脑的实际情况 sud

    2026年3月26日
    2
  • 查看此docker网络连接模式_Docker 网络模式(四种)详细介绍

    查看此docker网络连接模式_Docker 网络模式(四种)详细介绍Docker 网络模式本文首先介绍了 Docker 自身的 4 种网络工作方式 Docker 作为目前最火的轻量级容器技术 有很多令人称道的功能 如 Docker 的镜像管理 然而 Docker 同样有着很多不完善的地方 网络方面就是 Docker 比较薄弱的部分 因此 我们有必要深入了解 Docker 的网络知识 以满足更高的网络需求 四种网络模式我们在使用 dockerrun 创建 Docker 容器时 可以用 net 选

    2026年3月17日
    1
  • docker常用命令详解_linux入门基础

    docker常用命令详解_linux入门基础Docker 基础命令

    2022年4月22日
    49
  • Docker部署_docker部署网站

    Docker部署_docker部署网站前言我们都爱用WordPress,(几乎)一行代码都不用写,就能得到一个好看、实用的动态网站。这东西用来敷衍帮助各种找你写奇怪小网站的朋友再好不过了。通常,帮朋友部署WordPress的这个场景下,你可以找朋友开一台新的服务器,初始化一套LAMP,直接把WordPress给wget进去,就可以在你的浏览器里完成配置了。有时候,比如您的朋友使用阿里云、百度云或是其他比较大的云服务商,您甚至可以直接初始化一个WordPress应用镜像,直接在浏览器里开始设置。但是,前两天我需要

    2025年7月22日
    6
  • docker搭建Coturn TURN服务器

    docker搭建Coturn TURN服务器docker 搭建 CoturnTURN 服务器文章目录 docker 搭建 CoturnTURN 服务器下载镜像启动镜像 失败 启动镜像 不太对 启动镜像 搞个配置文件 自签证书使用配置文件测试下载镜像 dockerpullin coturn 启动镜像 失败 dockerrun d p3478 3478 p49152 65535 49152 65535 udpinstrumen coturn 报错 Errorrespons d

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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