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运行环境的镜像相关推荐

  1. Docker制作Python运行环境基础镜像

    一.准备工作 1.1 Python安装包的下载 (说明:python版本可根据自己需求更换) 官网下载:https://www.python.org/downloads/source/ 百度网盘: – ...

  2. jdk17运行环境docker镜像制作

    在将java应用部署到docker环境的过程中,一个支持运行java程序的镜像是必不可少的.由于oracle授权方面的问题,docker hub 上一般只有基于openjdk的镜像,而且open jd ...

  3. dockerfile制作Java镜像

    dockerfile制作Java镜像 1. 上传JDK 2. 编写dockerfile_java 3. 生成镜像 4. 验证镜像是否生成成功 5. 启动容器 6. 进入容器 7. 验证容器内Java是 ...

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

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

  5. flash cs3 pro 写了脚本说java运行环境出错,Flash CS3动作面板打开出错[Java运行时环境初始化时出现错误,你可能需要重......

    为了携带和使用方便,大多数人会选择使用软件的精简版,首先要感谢那些制作精简版软件的作者,因为这类软件一般不用安装,直接就能使用,而且体积一般只有 100MB左右.不过,正因为精简版精简了很多被认为是& ...

  6. 定制化Azure站点Java运行环境(1)

    Azure website提供了为现代化的web应用程序快速部署的PAAS平台,可以让用户几分钟之内快速的将自己的应用部署到云端,并且提供了自动扩展(auto-scaling),SSL,多种语言(Ja ...

  7. java7 xp版下载64位_JRE7 64位下载|JRE7 64位(java运行环境) V1.7.0.65官方版

    JRE7 64位是一款可以支持通过Java语言编程软件能够在Win中正常运行的集成软件,java运行环境(java runtime environment),就是我们平时称的JRE,运行JAVA程序所 ...

  8. java 运行环境注册表_Java运行环境与Windows注册表

    有两种Java运行环境(JRE),公有JRE (public JRE)与私有JRE(private JRE).JDK安装程序会安装私有JRE和一个可选的公有JRE.私有JRE完全包含在JDK的安装路径 ...

  9. java运行环境变量及自定义变量

    [README] 本文主要介绍java运行环境变量的获取,如何读取 env.properties 文件并将自定义变量写入到系统变量: [1]System.getenv() 获取环境变量 public ...

最新文章

  1. 王贻芳院士:为什么中国要探究中微子实验?
  2. 多线程下ArrayList类线程不安全的解决方法及原理
  3. 【工具】TFT彩屏图片点阵取模工具,Img2Lcd图片取模软件,图片生成c语言头文件...
  4. contains java_Java CopyOnWriteArraySet contains()用法及代码示例
  5. 【cocos2d-x从c++到js】06:Google的继承写法解析
  6. hdu.1430.魔板(bfs + 康托展开)
  7. [css] 使用css将图片转换成黑白的效果
  8. Jsp用于交换数据的4个map结构
  9. 大自然里,隐藏着最美妙的数学
  10. 如何在VB6.0里动态使用具有事件的对象
  11. 有了这个开源项目,再也不会忘记 Linux 命令啦~
  12. python:关于三级菜单的新手实现
  13. 11、5款最佳网络故障排除软件,网络故障迎刃而解
  14. 用python写爬虫 (三)获取数据、requests库
  15. 百度竞价推广账户常见问题及调整方法
  16. 主力吸筹猛攻指标源码_通达信最准确的抄底指标——主力吸筹(无未来附源码)...
  17. 【云原生 | 从零开始学Kubernetes】十、k8sPod节点亲和性和反亲和性
  18. C++三目运算符(简述)
  19. 电脑上与android手机文件互传
  20. keepass使用坚果云管理我的密码

热门文章

  1. linux中内核4c,Linux内核编译
  2. 如何批量把CAD图纸转成PDF格式
  3. 青蛙跳台阶问题详解 递归思想
  4. angular的路由传值
  5. CSS3 icon font完全指南
  6. 计算机端口错误678,电脑显示错误678怎么处理
  7. 利用html+css制作个人简历
  8. 【Fiddler移动端抓包】~抓包不是偷窥,Fiddler教你看透移动应用背后的秘密~
  9. Springboot美食视频网站69r13计算机毕业设计-课程设计-期末作业-毕设程序代做
  10. (配对问题)有3箱水果,一箱是苹果,一箱是橘子,一箱是两种水果的混装