docker部署多个版本的jdk

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker部署多个版本的jdk相关的知识,希望对你有一定的参考价值。

参考技术A 推荐使用docker容器来安装多个版本的jdk,以下是部署JDK 8、JDK 11 的步骤:

1.在docker中下载jdk:
```
$ docker pull openjdk:8-jdk-alpine
$ docker pull openjdk:11-jdk-alpine
```

2.运行容器:
```
docker run -dit --name jdk8 openjdk:8-jdk-alpine
docker run -dit --name jdk11 openjdk:11-jdk-alpine
```

3.查看是否安装成功:
```
docker exec -it jdk8 java -version
docker exec -it jdk11 java -version
```

Docker

首先搞懂Docker是什么 ,那我们接下来看一张图了解一下

技术图片

 

这就是我们部署项目的一般流程,多个就是横向扩展读个linux上,确保用户量上去也不会崩。但是经常遇到的额问题就是

1服务器与项目环境不一致比如jdk版本tomcat版本或者什么其他问题之类

2升级迭代麻烦

3如果这一台linux还有其他项目怎么办

所以这就是引出了我们的Docker

Docker就是将整个上图的项目环境等全部打包带走发给你,你直接运行我发的包就行了。包里面就有我的开发环境。

让我们再看看百度百科的话:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

看了百度百科之后让我们再度理解一下docker

技术图片

 

 

 

上面这个图就是指大框linux下载了docker引擎之后就可以通过引擎的镜像同时运行多个项目即这里的容器,(百度百科中说了:让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,)

 而为什么docker的镜像可以这样做呢

技术图片

 

 

 

因为这个引擎他可以理解为最里面是一个微型linux内核,然后一层一层套东西,像洋葱,如第一个靠近的圈是jdk下一个圈tomcat这样类似,

 

所以Docker太方便了,这里例举出了很多docker的优点

技术图片

 

 

 

官网:https://www.docker.com/

官方文档: https://docs.docker.com/get-started/overview/

仓库:   https://hub.docker.com/

当然在文档里找到有安装入门:https://docs.docker.com/engine/install/centos/

很多也都是可以自己在文档里面找到的;

 

1那么我们第一步在虚拟机为例的操作

技术图片

 

然后能联网了就是官网那一套东西复制上去,不能辅助的话连接xshell

技术图片

2按照官网的步骤卸载旧版本,没有就省略

技术图片

 

 

 3安装

技术图片

 

 

 安装完成就可以测试开启和停止

技术图片

 

 

 当然也可以设置为自动启动即enable

然后拉取一个HelloWorld 项目过来

 

 

 

 技术图片

 当然这个拉取pull是在仓库中有的镜像才可以没所以也可拉取其他镜像如nginx等

技术图片

 

 

 

然后执行试试

技术图片

 

 

或者nginx的

技术图片技术图片

技术图片

images镜像的意思,顾名思义 ,

 

 

 

 技术图片

 

这里的-d指后台运行,而80:80是因为docker是知道的没有接口的,所以只有用端口

然后结果就是运行起来了nginx

复制我们的虚拟机ip

技术图片

 

 

 

就成功访问出来了,并且docker自动帮我们把防火墙屏蔽了不然还是会登录不了。

技术图片

 

 

 

 

配置镜像加速

技术图片

 

 

技术图片

 

 技术图片

 

 然后按照这个指示需要配置文件所以下载一个vim

技术图片

 

 

技术图片

 

 

 技术图片

 

 镜像加速就配置完成了

下面就开启Docker的骚操作了!

以上是关于docker部署多个版本的jdk的主要内容,如果未能解决你的问题,请参考以下文章

docker集中化管理平台--shipyard部署

docker 部署FATE

使用docker部署多个本地redis

将多个 docker 容器部署到 AWS ECS

docker harbor私有仓库

一台物理机器部署多个docker