基于上一个创建的基础镜像, wenbronk/centos

Dockerfile

  1. ############################################
  2. # version : wenbronk/centos/jdk8u121
  3. # desc : 当前版本安装的jdk8u121
  4. ############################################
  5.  
  6. FROM wenbronk/centos
  7. MAINTAINER wenbronk "wenbronk@163.com"
  8.  
  9. # 设置环境变量,所有操作都是非交互式的
  10. ENV DEBIAN_FRONTEND noninteractive
  11.  
  12. # 添加 supervisord 的配置文件,并复制配置文件到对应目录下面。(supervisord.conf文件和Dockerfile文件在同一路径)
  13. COPY supervisord.conf /etc/supervisor/supervisord.conf
  14.  
  15. # 安装jdk
  16. # RUN mkdir /var/tmp
  17.  
  18. # 将本地的jdk重命名为jdk1.8-64.tar.gz, 并解压, 只能使用相对路径
  19. ADD jdk-8u121-linux-x64.tar.gz /var/tmp
    #目录, 上传目录可能会出现权限不足的问题, chmod +x java
    # COPY jdk1.8.0_121 /var/tmp/jdk1.8.0_121
  1.  
  2. # 设置环境变量
  3. ENV JAVA_HOME /var/tmp/jdk1.8.0_121
  4. ENV PATH $PATH:$PATH:$JAVA_HOME/bin
  5.  
  6. # 执行supervisord来同时执行多个命令,使用 supervisord 的可执行路径启动服务。
  7. CMD ["/usr/bin/supervisord"]

supervisord.conf

  1. # 配置文件包含目录和进程
  2. # 第一段 supervsord 配置软件本身,使用 nodaemon 参数来运行。
  3. # 第二段包含要控制的 2 个服务。每一段包含一个服务的目录和启动这个服务的命令.
  4.  
  5. [supervisord]
  6. nodaemon=true
  7.  
  8. [program:sshd]
  9. command=/usr/sbin/sshd -D

因为工作需要安装jdk1.7, 方法类似, 改下名称即可

又一个坑:

ENV设置环境变量后, 使用exec链接人容器, 环境变量生效, 但ssh链接入容器, 环境变量不生效

docker 创建jdk镜像的更多相关文章

  1. Dockerfile介绍、Docker制作jdk镜像

    Dockerfile介绍.Docker制作jdk镜像 目标 1.Dockerfile简介 2.Docker制作jdk镜像 Dockerfile简介 dockerfile 是一个文本格式的配置文件, 用 ...

  2. docker创建nginx镜像

    注意:此处不是用的dockerfile创建的镜像,只是用来搞一搞 首先你的系统里面要安装docker,这里就不重复介绍了,可以看之前的文章: 然后再搞一个基础镜像 docker pull regist ...

  3. Docker创建私有镜像仓库

    Docker官方提供了一个工具docker-registry,可以借助这个工具构建私有镜像仓库: 1.拉取registry镜像 # docker pull registry//可以使用 docker ...

  4. docker 创建本地镜像服务器

    1.docker pull registry //下载registry 镜像,registry 为docker 官方提供的一个镜像, 我们可以用它来创建本地的docker私有仓库. docker:/r ...

  5. docker 创建mysql镜像,并成功进行远程连接

    1.安装 1.1 拉取镜像 docker pull mysql 拉取成功可以验证一下 docker images 1.2 创建并启动一个mysql容器 docker run --name ly-mys ...

  6. DocKer 创建容器 镜像端口映射失败

    问题一: 我想使用同一个镜像创建多个容器,并映射端口出现以下错误,该怎么解决? docker: Error response from daemon: driver failed programmin ...

  7. Docker创建Tomcat镜像

    1.创建Dockerfile文件 vi Dockerfile Dockerfile内容 FROM debian ADD ./jdk-8u191-linux-x64.tar.gz /usr/local/ ...

  8. docker 创建基础镜像

    docker 安装卸妆官方说明:  https://docs.docker.com/install/linux/docker-ee/centos/#os-requirements 本系列基于cento ...

  9. docker创建redis镜像

    pull redis 镜像 创建redis的镜像有几种方式,可以直接从仓库中拉取,也可以采用dockerfile文件自己编译创建. 基于已有的redis镜像,docker可以采用run,或者creat ...

随机推荐

  1. SPOJ10606 BALNUM - Balanced Numbers(数位DP+状压)

    Balanced numbers have been used by mathematicians for centuries. A positive integer is considered a ...

  2. ECG心电图数据2

    1.如何下载获取MIT-BIH的数据从下面这个官方链接页面可以下载到所有48组MIT-BIH心电数据: http://www.physionet.org/physiobank/database/mit ...

  3. ES6 学习笔记之四 对象的扩展

    ES6 为对象字面量添加了几个实用的功能,虽然这几个新功能基本上都是语法糖,但确实方便. 一.属性的简洁表示法 当定义一个对象时,允许直接写入一个变量,作为对象的属性,变量名就是属性名. 例1: , ...

  4. 嵌入的资源 和 Resource

    我们将资源文件添加至.net C#工程时,文件的生成操作有多种可选方式.通常用的多的是两种:[嵌入的资源]和[Resource],如果从需要从代码中使用这些资源文件,不同生成操作则对应不同的引用方式: ...

  5. JEECG(三) JEECG minidao如何封装自己的 多表联合查询 分页查询

    JEECG确实是一款实实在在的促进生产力的工具好处我想看到此文章的人应该都有所体会了 言归正传 JEECG框架自带的查询确实很省事,但是多表联合查询 分页查询 是我们开发业务系统当中不可避免的这时框架 ...

  6. JS 中的数据类型

    简介 JavaScript 语言的每一个值,都属于某一种数据类型.JavaScript 的数据类型,共有七种 数值(number):整数和小数,比如1和3.14 字符串(string):文本 布尔值( ...

  7. springboot-登录拦截器

    小伙伴们大家好,今天给大家分享一个简单的springboot版登录拦截器 首先我们需要在springboot的启动类中让它实现WebMvcConfigurer 这个接口 比如: public clas ...

  8. 【2019年OCP新题】OCP题库更新出现大量新题-11

    11.Your database is in archivelog mode. You want to disable archiving for the database. Examine thes ...

  9. 操作系统(Operating System,OS)

    操作系统(Operating System,OS) 是配置在计算机硬件上的第一层软件,是对计算机硬件系统的首次扩充,是一个计算机系统最基础,也是最重要的系统软件. 操作系统的作用 1 实现对计算机资源 ...

  10. Flask从入门到精通之大型程序的结构二

    一.程序包 程序包用来保存程序的所有代码.模板和静态文件.我们可以把这个包直接称为app(应用),如果有需求,也可使用一个程序专用名字.templates 和static 文件夹是程序包的一部分,因此 ...