容器化一个Java应用程序

1.容器化一个简单的java应用程序

(1).安装和配置JDK

创建一个文件夹且进入(用于存放jdk),这里为java文件夹

本教程使用的是虚拟机下的centos,可以使用wegt命令下载文件,也可以从主机上面传输文件到centos内,所以这里我们选择后者。

查看主机的ip:

这里我们的ip为192.168.32.130

 

在FileZilla中使用此ip和用户名连接centos:

这里我们使用root用户:

连接好以后就可以在FileZilla中上传主机的文件到centos内指定的目录中了。

使用tar xzf命令解压后可以得到:

配置环境变量:

编辑 /etc/profile

vim /etc/profile

在文件内添加如下配置:

 

保存后刷新一下文件:

source /etc/profile

 这样环境配置就完成了,不妨看一下是否配置成功:

java --version

得到反馈,说明我们的jdk配置成功了

 (2)安装Maven软件:

进入local文件夹

这里我们还是先在主机上下载好文件然后再发送到centos,我们选择maven3.6.3

上传后并且解压:

继续修改/etc/profile

在底部添加如下配置:

查看maven是否安装正确:

mvn -v

 得到反馈,安装成功!

(3)创建一个简单的Java应用程序:

创建一个文件夹用于存放java应用程序,这里我们创建ch06,进入

使用如下命令构建一个Java项目:

mvn archetype:generate -DgroupId=org.examples.java -DartifactId=helloworld -DinteractiveMode=false

 构建好之后会生成一个helloworld文件夹 我们直接进入

然后使用如下命令来构建项目

mvn package

 构建完成后运行所生成的Java类:

java -cp target/helloworld-1.0-SNAPSHOT.jar org.examples.java.App

 (4)下载和运行Java镜像

使用如下命令以交互的方式运行OpenJDK容器:

docker container run -it openjdk:8

并且在容器内查看java版本

java --version

成功得到结果,exit退出容器

(5)将Java应用程序打包为镜像并启动容器运行该程序

创建Dockerfile文件并且添加如下内容:

 

基于该Dockerfile构建镜像:

docker images build -t hello-java:latest .

 构建成功后,基于该镜像运行容器

docker run --rm hello-java:latest /bin/bash

成功得到结果!

2.使用Docker Maven插件打包并运行Java应用程序

(1)获取一个现成的java项目

这里大家可以自己做一个也可以从github上面获取一个

这里我们直接获取一个就好了

git clone https://github.com/arun-gupta/docker-java-sample

没有安装git的话需要先安装git

yum -y install git

 (2)运行mvn命令创建一个Docker镜像:

mvn -f docker-java-sample/pom.xml package -Pdocker

 

 创建成功,查看刚刚创建的镜像:

dokcer image ls | grep hellojava

 通过mvn命令基于该镜像运行容器:

mvn -f docker-java-sample/pom.xml install -Pdocker

 

 得到输出结果Hello World!

(3)使用Tomcat的官方镜像部署War应用程序

(1)使用Tomcat官方镜像的管理工具发布.War包

创建一个tomcat-basic文件夹且进入:

启动一个tomcat:8.0容器

 访问http://127.0.0.1:8888

 成功进入到Tomcat主页

退出容器

创建conf目录:

在conf下创建且编辑tomcat-users.xml文件:

nano conf/tomcat-users.xml

添加如下配置:

重新启动一个tomcat:8.0容器 并且将主机上的目录加载到容器内 

访问http://127.0.0.1:8888 进入tomcat主页面

进入Manager APP发布一个javaweb项目

 输入刚刚配置的用户名和密码后即可登录

这里分别是admin和tomcat

进入Manager App页面:

滑到下方的Deploy区域 发布一个javaweb项目的.war包

可以从主机上选择并且传入到centos内然后选择该文件即可

 选择Deploy发布!

在上方的Application Manager区域可以看见已经发布的应用程序

访问http:127.0.0.1:8888/hello-world

得到了我的javaweb项目的一个主界面

非常简单 只有几行文字(中文不显示的原因是因为没有中文语言包)

 (2)将.war包复制到容器中进行发布

将主机的存放javaweb项目war包的目录中的文件复制到tomcat容器内的webapps目录下

 启动容器后tomcat就会自动解压webapps内的文件并且发布

访问http://127.0.0.1:8888/hello-world/

 也成功得到结果

(3)将.war包所在目录绑定挂载到容器中进行发布

也可以进入存放War包的目录下,将该目录挂载绑定到容器的webapps目录下:

 访问http://127.0.0.1:8888/hello-world/

也能够成功得到结果:

 (4)基于Tomcat官方镜像加入.war包生成新的镜像:

编写一个Dockerfile文件:

加入如下内容 其中第三行表示将主机上的war包添加到容器内的webapps目录下

使用docker build构建镜像 

根据创建好的镜像运行容器

 访问http://127.0.0.1:8888/hello-world/

成功得到结果:

 

 以上的几种方法都可以用于容器化Javaweb的项目

 

 

 

 

 

 

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cristor404

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值