使用Dockerfile制作java运行环境的镜像
1、基础环境Docker安装
1.1 创建安装脚本文件
vim install-docker.sh
1.2 写入以下内容
#!/bin/bash
echo "------------开始安装docker------------"
# 1、先卸载旧版docker和docker-engine
echo "------------1、卸载旧版docker文件------------"
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine
echo "------------2、卸载完成,开始安装yum-utils工具------------"
#2、安装yum-utils工具
yum install -y yum-utils
#3、设置docker稳定仓库
echo "------------3、设置docker稳定仓库------------"
yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
#4、安装最新版docker
echo "------------4、开始安装新版docker------------"
yum install docker-ce docker-ce-cli containerd.io -y
#5、安装完成后,启动docker
echo "------------5、安装完成,启动docker------------"
systemctl start docker
#6、验证docker是否安装成功,查看docker版本
echo "------------6、查看docker安装版本------------"
docker ps
docker -v
#7、设置docker为开机启动
echo "------------7、将docker设置为开机启动------------"
systemctl enable docker.service
echo "设置完成"
1.3 给脚本赋可执行权限
chmod u+x install-docker.sh
1.4 执行脚本
./ install-docker.sh
2、构建基础镜像
2.1 创建文件夹,并进入
mkdir centos7-base && cd centos7-base
2.2 创建Dockerfile文件,并写入构建命令
vim Dockerfile
#Base Image
FROM centos:7
# 安装一些基础工具(可选),可根据实际情况安装
RUN yum install -y vim wget pcre pcre-devel zlib zlib-devel openssl openssl-devel iproute net-tools iotop
2.3 构建镜像
# centos:7.9 分别表示:镜像名称:镜像标签(或版本),均可自定义
docker build -t centos:7.9 .
2.4 查看镜像
docker images
这里可以看到镜像大小为450M,这是由于装了上面的所有软件,所以镜像比较大
3、构建jdk镜像
利用制作好的基础镜像制作jdk的镜像
3.1 退出centos7-base,创建文件夹jdk1.8,并进入
cd .. && mkdir jdk1.8 && cd jdk1.8
3.2 创建Dockerfile文件,并写入构建命令
vim Dockerfile
FROM centos:7.9
ADD jdk-8u201-linux-x64.tar.gz /usr/local/src/
RUN ln -s /usr/local/src/jdk1.8.0_201/ /usr/local/jdk
ADD profile /etc/profile
ENV JAVA_HOME /usr/local/jdk
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/:$JRE_HOME/lib/
ENV PATH $PATH:$JAVA_HOME/bin
RUN rm -rf /etc/localtime && ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
3.3 上传jdk包到目录jdk1.8下
jdk-8u201-linux-x64.tar.gz
3.4 复制/etc/profile文件到当前目录
cp /etc/profile ./
3.5 在profile最后添加jdk的环境变量
vim profile
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
3.6 查看目录下文件
ls
3.7 构建镜像
docker build -t myjava:8 .
3.8 查看镜像
docker images
4、检查制作好的镜像是否能正常使用
docker run -it myjava:8
使用Dockerfile制作java运行环境的镜像相关推荐
- Docker制作Python运行环境基础镜像
一.准备工作 1.1 Python安装包的下载 (说明:python版本可根据自己需求更换) 官网下载:https://www.python.org/downloads/source/ 百度网盘: – ...
- jdk17运行环境docker镜像制作
在将java应用部署到docker环境的过程中,一个支持运行java程序的镜像是必不可少的.由于oracle授权方面的问题,docker hub 上一般只有基于openjdk的镜像,而且open jd ...
- dockerfile制作Java镜像
dockerfile制作Java镜像 1. 上传JDK 2. 编写dockerfile_java 3. 生成镜像 4. 验证镜像是否生成成功 5. 启动容器 6. 进入容器 7. 验证容器内Java是 ...
- Docker 3.2.10:基于 Dockerfile 制作 java 程序镜像
3.2.10:基于 Dockerfile 制作 java 程序镜像 准备基础镜像 以 centos-tomcat:8.5.60 为基础镜像,构建业务镜像: 编写 Dockerfile 创建业务镜像的 ...
- flash cs3 pro 写了脚本说java运行环境出错,Flash CS3动作面板打开出错[Java运行时环境初始化时出现错误,你可能需要重......
为了携带和使用方便,大多数人会选择使用软件的精简版,首先要感谢那些制作精简版软件的作者,因为这类软件一般不用安装,直接就能使用,而且体积一般只有 100MB左右.不过,正因为精简版精简了很多被认为是& ...
- 定制化Azure站点Java运行环境(1)
Azure website提供了为现代化的web应用程序快速部署的PAAS平台,可以让用户几分钟之内快速的将自己的应用部署到云端,并且提供了自动扩展(auto-scaling),SSL,多种语言(Ja ...
- java7 xp版下载64位_JRE7 64位下载|JRE7 64位(java运行环境) V1.7.0.65官方版
JRE7 64位是一款可以支持通过Java语言编程软件能够在Win中正常运行的集成软件,java运行环境(java runtime environment),就是我们平时称的JRE,运行JAVA程序所 ...
- java 运行环境注册表_Java运行环境与Windows注册表
有两种Java运行环境(JRE),公有JRE (public JRE)与私有JRE(private JRE).JDK安装程序会安装私有JRE和一个可选的公有JRE.私有JRE完全包含在JDK的安装路径 ...
- java运行环境变量及自定义变量
[README] 本文主要介绍java运行环境变量的获取,如何读取 env.properties 文件并将自定义变量写入到系统变量: [1]System.getenv() 获取环境变量 public ...
最新文章
- 王贻芳院士:为什么中国要探究中微子实验?
- 多线程下ArrayList类线程不安全的解决方法及原理
- 【工具】TFT彩屏图片点阵取模工具,Img2Lcd图片取模软件,图片生成c语言头文件...
- contains java_Java CopyOnWriteArraySet contains()用法及代码示例
- 【cocos2d-x从c++到js】06:Google的继承写法解析
- hdu.1430.魔板(bfs + 康托展开)
- [css] 使用css将图片转换成黑白的效果
- Jsp用于交换数据的4个map结构
- 大自然里,隐藏着最美妙的数学
- 如何在VB6.0里动态使用具有事件的对象
- 有了这个开源项目,再也不会忘记 Linux 命令啦~
- python:关于三级菜单的新手实现
- 11、5款最佳网络故障排除软件,网络故障迎刃而解
- 用python写爬虫 (三)获取数据、requests库
- 百度竞价推广账户常见问题及调整方法
- 主力吸筹猛攻指标源码_通达信最准确的抄底指标——主力吸筹(无未来附源码)...
- 【云原生 | 从零开始学Kubernetes】十、k8sPod节点亲和性和反亲和性
- C++三目运算符(简述)
- 电脑上与android手机文件互传
- keepass使用坚果云管理我的密码