dockerfile制作Java镜像

  • 1. 上传JDK
  • 2. 编写dockerfile_java
  • 3. 生成镜像
  • 4. 验证镜像是否生成成功
  • 5. 启动容器
  • 6. 进入容器
  • 7. 验证容器内Java是否安装成功
  • 8. 打包镜像
  • 9. 加载镜像

本文采用编写dockerfile的方式制作镜像,docker的安装方式详戳: 离线安装或 在线安装

1. 上传JDK

创建文件夹在/root/dockerfile/java,将jdk-8u261-linux-x64.tar.gz包上传到该目录下。

#创建文件夹
mkdir -p /root/dockerfile/java

2. 编写dockerfile_java

在/root/dockerfile/java目录下创建文件dockerfile_java,内容如下:

FROM centos:7
MAINTAINER anny "2662376364@qq.com"
CMD echo "创建文件夹"
RUN \mkdir -p /usr/local \&& mkdir /usr/local/java
CMD echo "复制文件"
COPY jdk-8u261-linux-x64.tar.gz /usr/local/javaCMD echo "安装java"
RUN \cd /usr/local/java \&& tar -zxvf jdk-8u261-linux-x64.tar.gz \&& mv jdk1.8.0_261/ jdk8 \&& rm -rf jdk-8u261-linux-x64.tar.gzCMD echo "设置工作访问时候的WORKDIR路径,登陆落脚点"
ENV MYPATH /usr/local
WORKDIR $MYPATH
CMD echo "配置java与tomcat环境变量"
ENV JAVA_HOME /usr/local/java/jdk8
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
CMD echo "java环境配置完成"
RUN \java -version
CMD /bin/bash

3. 生成镜像

#docker build -f 文件名 -t 镜像名 .
docker build -f dockerfile_java -t myjava:1.0 .

4. 验证镜像是否生成成功

docker images

5. 启动容器

#docker run -itd --name 容器名 镜像名 /usr/sbin/init
docker run -itd --name myjava_test myjava:1.0 /usr/sbin/init

6. 进入容器

#docker exec -it 容器名或容器id /bin/bash
docker exec -it myjava_test /bin/bash

7. 验证容器内Java是否安装成功

java -version

出现下图表示jdk环境配置成功。

至此,通过编写dockerfile制作Java镜像的方式已经完成。如果要在其他服务器使用改镜像,需要打成tar包后使用。具体操作如下:

8. 打包镜像

#将镜像保存为tar包
docker save -o myjava.tar myjava:1.0

9. 加载镜像

#加载镜像
docker load < myava.tar

dockerfile制作Java镜像相关推荐

  1. Docker 3.2.10:基于 Dockerfile 制作 java 程序镜像

    3.2.10:基于 Dockerfile 制作 java 程序镜像 准备基础镜像 以 centos-tomcat:8.5.60 为基础镜像,构建业务镜像: 编写 Dockerfile 创建业务镜像的 ...

  2. Docker Review - dockerfile 实战_使用dockerfile制作tomcat镜像

    文章目录 Pre Docker 官方镜像 Dockerfile dockerfile制作tomcat镜像 准备软件 编写Dockerfile文件 dockerfile构建镜像 启动镜像 测试访问tom ...

  3. Dockerfile制作jdk镜像和微服务镜像部署的最佳实践【Dockerfile实战】

    因为公司之前搭建测试服务器是我搭建的,其中包含使用docker来部署微服务项目,于是将这篇Dockerfile的最佳实践记录于此,为避免大家被坑,希望此文能帮你解除疑惑~ ps:因为是公司服务器不是个 ...

  4. Docker 3.2.8:基于 Dockerfile 制作 JDK 镜像

    3.2.8:基于 Dockerfile 制作 JDK 镜像 准备基础镜像 以 centos-init:v1 为基础镜像: 编写 Dockerfile 切换到相应目录,编写 Dockerfile: ro ...

  5. 简单几步就教会你如何使用 dockerfile 制作 LNMP 镜像,还不赶紧学起来

    简单几步就教会你如何使用dockerfile制作LNMP镜像 前言 一.dockerfile撰写php镜像 二.dockerfile撰写mysql镜像 三.dockerfile撰写nginx镜像 四. ...

  6. dockerfile制作mysql镜像

    dockerfile制作mysql镜像 1. 编写dockerfile_mysql5.7 2. 编写容器启动脚本setup.sh 3. 编写数据库文件 4.mysql权限设置命令privileges. ...

  7. Docker 3.2.12:基于 Dockerfile 制作 Redis 镜像

    3.2.12:基于 Dockerfile 制作 Redis 镜像 准备基础镜像 使用之前制作的 centos-init:8.3.2011 作为基础镜像: 编写 Dockerfile 制作 redis- ...

  8. Docker 3.2.5:基于 Dockerfile 制作 Nginx 镜像

    3.2.5:基于 Dockerfile 制作 Nginx 镜像(编译版) 准备基础镜像 使用制作好的 centos-init 作为基础镜像: 编写 Dockerfile 进入相应的 Dockerfil ...

  9. Docker——使用Dockerfile制作java程序镜像

     1.准备制作镜像需要的jar包和java镜像 上传jar包到/home/docker目录下 拉取java镜像:docker pull java:8 2.在jar包同级目录下创建Dockerfile文 ...

最新文章

  1. 滴滴高管今年集体不拿年终奖 员工奖励力度缩减一半
  2. 基于SQL的日志分析工具myselect
  3. 什么是线程安全和线程不安全
  4. yabailv 运放_运放的压摆率PCB技术文章PCB联盟网 - Powered by Discuz!
  5. FireEye 网络攻击危害红队安全工具
  6. 医疗器械信息系统分析
  7. 关于python函数参数的描述中、错误的是_在Python中,以下关于函数的描述错误的是哪一项?...
  8. 怎么批量删除 Word、PPT、PDF 中的第一页、最后一页以及其它指定页?
  9. 内存卡数据恢复,如何从内存卡恢复数据
  10. java对人物画像分级_用户画像,该怎么分析?
  11. 分享新作:休闲小游戏『Flying Stone』
  12. java 计算月份和日期
  13. TRIZ系列-创新原理-14~15-曲面化原理和动态性原理
  14. 2016年最权威的1000集大型web前端视频教程(爱创课堂出品)
  15. PAT-2019年冬季考试-甲级-7-1 Good in C (20分)超详解,几招就满分通过
  16. 电话销售话术模板有哪些 电话销售技巧
  17. cad命令栏怎么调出来_期货文华软件K线图上随着最新价格跳动的黄虚线怎么调出来...
  18. numpy计算移动平均值
  19. 爬取 bilibili 纪录片数据数据可视化
  20. 如何用Excel制作工作计划表

热门文章

  1. 移除设备和驱动器的WPS网盘图标,亲测有效,不在恢复
  2. java1到4章复习
  3. ae教程 (七)动效插件 (二)定向爆破
  4. 羽毛球:教你克敌制胜十七招(新手征战必用)-- ZT
  5. 室内田园设计手法要灵活多变
  6. 现阶段学习并进入超算/先进计算领域的好处
  7. 软件测试-MySQL(六:数据库函数)
  8. 批量取消隐藏工作表 + 批量删除隐藏工作表(office2019)--2020-5-26更新(不写代码删除隐藏工作表,可使用文档检查器)
  9. Vue中的ajax请求、Vuex、Vue UI组件库
  10. 疫情一代普通大学生的四年感悟,四年大学带给了我什么