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. cnblogs第一篇
  3. 用百度开放地图api在代码中获得两地距离
  4. SAP Spartacus Cart UI 修改 quantity 字段后的 Patch 请求遇到 400 错误 - IllegalArgumentError
  5. Linux的学习思路
  6. 【学习笔记】第二章——进程同步、进程互斥、进程互斥的硬件/软件实现方法
  7. easydialog中对js的修改
  8. FireWire笔记
  9. 阿里云线上案例分析:网格应用存活状态异常
  10. 城八区和通州区限价房申请5月16日开始受理
  11. Oracle(7)——Oracle修改国家字符集
  12. 小水智能-智能楼宇智慧建筑3D可视化系统,为房屋建设增加智能化
  13. [Ubuntu] LightDM 轻量级桌面显示管理器
  14. 视频分类之 UCF-101 上的 CNN 方法详解
  15. 我退休金只有2000块钱能去海南三亚养老吗?
  16. MaskRNN Instance Level Video Object Segmentation 论文翻译
  17. 微信小程序 - 实现车牌输入功能,自定义车牌号输入法组件(键盘弹出后输入车牌号,可自定义各地区及界面样式)超详细注释组件插件示例源码
  18. 总结:第一章:从入门到入职拿到过万月薪我需要这些技能(400多篇博文系统归类)P5级
  19. 两种HDR格式(HLG, HDR10)的理解
  20. 数据库连接字符串的设置与读取

热门文章

  1. 共享单车计算机网络,基于BP神经网络的共享单车调度优化
  2. 【mybatis原理】
  3. java 命令行 生成exe_超星尔雅中国古建筑文化与鉴赏期末答案
  4. php有按钮的计算器,计算器上的各个按键使用详解
  5. 十九、商城 - 运营商登录-Spring Security(7)
  6. android 静态图片自动切换,Android静态图片人脸识别的完整demo(附完整源码)
  7. php生成objectid,通过PHP获取ObjectId MongoDB
  8. 在线直播源码系统架构设计
  9. 机器学习 决策树篇——解决连续变量的分类问题
  10. 一条SQL更新语句的执行过程