docker image设置jdk版本_使用Docker构建jdk1.8镜像

一、下载centos镜像

下载自己需要的版本TAG,详见:

$ sudo docker pull centos:centos7

二、下载jdk1.8,并上传到/usr/local/src目录,然后解压

$ sudo cd /usr/local/src

$ sudo tar zxf jdk-8u201-linux-x64.tar.gz

$ sudo ls

jdk1..0_201 jdk-8u201-linux-x64.tar.gz

三、创建Dockerfile

先在/usr/local目录下创建jdk目录,并将/usr/local/src下的jdk-8u201-linux-x64.tar.gz复制到/usr/local/jdk目录下,然后创建Dockerfile文件

$ sudo mkdir /usr/local/jdk

$ sudo cd /usr/local/jdk

$ sudo cp ../src/jdk-8u201-linux-x64.tar.gz ./

$ sudo ls

jdk-8u201-linux-x64.tar.gz

$ sudo vi Dockerfile

FROM centos:centos7

MAINTAINER tom

RUN mkdir /usr/local/jdk

WORKDIR /usr/local/jdk

ADD jdk-8u201-linux-x64.tar.gz /usr/local/jdk

ENV JAVA_HOME /usr/local/jdk/jdk1..0_201

ENV JRE_HOME /usr/local/jdk/jdk1..0_201/jre

ENV PATH $JAVA_HOME/bin:$PATH

四、使用Dockerfile构建jdk1.8镜像

$ sudo docker build -t jdk1. .

Sending build context to Docker daemon .8MB

Step / : FROM centos:centos7

---> 9f38484d220f

Step / : MAINTAINER tom

---> Running in 9ebabac7e9e0

Removing intermediate container 9ebabac7e9e0

---> 6e65e30640c0

Step / : RUN mkdir /usr/local/jdk

---> Running in 5805a4f50285

Removing intermediate container 5805a4f50285

---> 8ebaedf8bd72

Step / : WORKDIR /usr/local/jdk

---> Running in c68e7f94ce6d

Removing intermediate container c68e7f94ce6d

---> f4df19bf9468

Step / : ADD jdk-8u201-linux-x64.tar.gz /usr/local/jdk

---> 1fa5d55acc2e

Step / : ENV JAVA_HOME /usr/local/jdk/jdk1..0_201

---> Running in c9c93a299d59

Removing intermediate container c9c93a299d59

---> 09b5bfd906dc

Step / : ENV JRE_HOME /usr/local/jdk/jdk1..0_201/jre

---> Running in d4509f0c2af8

Removing intermediate container d4509f0c2af8

---> 1d6b070b3985

Step / : ENV PATH $JAVA_HOME/bin:$PATH

---> Running in 190dde73be87

Removing intermediate container 190dde73be87

---> 50016b7aac0c

Successfully built 50016b7aac0c

Successfully tagged jdk1.:latest

五、在镜像仓库中查看是否构建成功

$ sudo docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

jdk1. latest 50016b7aac0c seconds ago 598MB

六、启动jdk容器

$ sudo docker run -di --name=jdk1. jdk1.

e04f670691cd301b28fb56c25b12eae4851f583fa7abac367164a0ee68ad7241

七、进入jdk容器,查看是否安装正确(即查看安装之后的目录)

$ sudo docker exec -it jdk1. /bin/bash

[root@7d539233feb0 jdk]# pwd

/usr/local/jdk

[root@7d539233feb0 jdk]# ls

jdk1..0_201

docker: 构建自己的镜像

我们给予ubuntu的镜像然后拷贝python的requirement.txt文件进去,再根据这个文件安装对应的python库 拷贝文件到docker容器.首先查找对应的容器ID.然后执行命令 doc ...

Docker构建一个node镜像

0. 设置国内docker镜像源 进入Settings->Daemon->Advanced,添加如下配置. { "registry-mirrors": [ " ...

docker构建一个简易镜像

一 下载centos镜像 docker pull centos 二 启动镜像 [root@Centos-node3 ~]# docker run -it --name my_ng centos bas ...

使用Docker构建基于centos7镜像的python环境

Dcokerfile配置信息 ############################################## # 基于centos7构建python3运行环境 # 构建命令: 在Dock ...

Docker教程:镜像构建和自动镜像构建dockerfile

http://blog.csdn.net/pipisorry/article/details/50805379 Docker透过Dockerfile来记录建立Container映象文件的每一个步骤,可 ...

Docker 使用 Dockerfile 构建自己的镜像

可以使用Dockerfile的配置文件方式进行构建自己的镜像 下面利用docker构建一个Caddy web服务器 构建脚本 Dockerfile有自己的命令,下面使用了一些比较常用的命令,更多的Do ...

物联网架构成长之路(25)-Docker构建项目用到的镜像1

0. 前言 现在项目处于初级阶段,按照规划,先构建几个以后可能会用到的Image,并上传到阿里云的Docker仓库.以后博客中用到的Image,大部分都会用到这几个基础的Image,构建一个简单的物联 ...

Docker 构建镜像

Docker 构建镜像 1.首先,在项目的根目录下,新建一个文本文件.dockerignore,写入下面的内容. 下面三行代码表示: 1.这三个路径要排除,不要打包进入 image 文件. 2.如果你 ...

docker构建自定义镜像

docker构建自定义镜像 要构建一个镜像,第一步准备所需要的文件,第二步编写Dockerfile文件,比如我现在构建一个java web镜像 第一步:准备java web工程的war包文件(这里假设 ...

随机推荐

Java解析文本

import java.io.*; import java.util.*; public class FileManager { public List parseFile ...

Java 8 中新的 Date 和 Time 类入门详解

这篇文章主要是java8中新的Date和Time API的实战.新的Date和Time类是java开发者社区千呼万唤始出来的.Java8 之前存在的Date类一直都受人诟病,很多人都会选择使用第三方的 ...

MVC — 第 6 天

7 天玩转 ASP.NET MVC — 第 6 天   目录 第 1 天 第 2 天 第 3 天 第 4 天 第 5 天 第 6 天 第 7 天 0. 前言 欢迎来到第六天的 MVC 系列学习中.希望 ...

Task Cancellation: Parallel Programming

http://beyondrelational.com/modules/2/blogs/79/posts/11524/task-cancellation-parallel-programming-ii ...

Java集合常见面试题集锦

1.介绍Collection框架的结构 集合是Java中的一个非常重要的一个知识点,主要分为List.Set.Map.Queue三大数据结构.它们在Java中的结构关系如下: Collection接口 ...

通过 docker 搭建自用的 gitlab 服务

前言 git 是当下如日中天的版本管理系统.现在如果不是工作在 git 版本管理系统之下,几乎都不好意思和人打招呼了.有很多现成的互联网的 git 服务提供给大家使用,例如号称程序员社交网络的 Git ...

QMQ去哪儿网-mq中间件(启动失败)

简介 去哪儿网近日宣布开源其内部广泛使用的消息中间件 QMQ .QMQ 自 2012 年诞生以来在去哪儿网所有业务场景中广泛的应用,包括跟交易息息相关的订单场景: 也包括报价搜索等高吞吐量场景.目前在 ...

Java学习笔记之——内部类

内部类 形式:把一个类定义在一个类的内部. 分为:成员内部类和匿名内部类重点掌握 a) 成员内部类 b) 静态成员内部类 c) 匿名内部类 d) 局部内部类 (1)成员内部类: Java的语言是面向对 ...

面试常问Spring IOC,不得不会。

广义的 IOC IoC(Inversion of Control) 控制反转,即“不用打电话过来,我们会打给你”. 两种实现: 依赖查找(DL)和依赖注入(DI). IOC 和 DI .DL 的关系( ...

【读书笔记】iOS-优化iOS Web应用

一,代码优化: 代码优化是任何优化技术的第一步,因为归根结底网页上的一切都是构建在代码之上的.优秀的代码可以节省宽带,减少渲染延迟,以及提高页面的可读性和长远的可维护性.下面列出了一些在Web应用中编 ...

你可能感兴趣的:(docker,image设置jdk版本)