Docker使用之Java web应用部署

此篇博客一部分内容有赖于上一篇博客中已经陈述过的信息,如需了解,请移步:

http://danlley.iteye.com/blog/2365651

切入正题,上一篇中介绍了如何在Docker中部署Tomcat,接下来将详细说明如何在Docker的Tomcat容器中部署war包。

通常情况下,一个web应用都脱不开数据库操作,这里我们以MySQL为例来说明一个web应用Docker、一个MySQL数据库Docker构成的最基本的应用实例

 首先获取MySQL的最新Docker:

docker pull daocloud.io/mysql:latest

下载后得到的image通过以下命令查看:

root@danlley-VirtualBox:/home/danlley# docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
webapp1              latest              a32bca93f476        About an hour ago   538.1 MB
<none>               <none>              47512a4d6166        2 hours ago         538.1 MB
webapp               latest              abbbfb1f232d        12 hours ago        512.7 MB
daocloud.io/mysql    latest              7666f75adb6b        8 weeks ago         405.6 MB
daocloud.io/ubuntu   latest              f49eec89601e        9 weeks ago         129.5 MB

 接下来直接用镜像生成MySQL容器,并启动:

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=111111 7666f75adb6b

 注意:这里默认的docker是没有设定root用户的密码的,为方便后面对数据库docker进行管理,我们对root的密码进行了初始化,同时,如果你是计划将已经有的web应用迁移到docker的话,这里的端口号依然使用3306可以为你后面的工作省一些力气。

数据库docker启动成功以后,就需要对该数据库进行管理,根据自身的应用,导入数据库表及结构,给相应的数据库实例开管理账号等,这些都是和平时的做法没什么差别了。

至此,数据库的docker准备工作结束,接下来开始准备部署war包到Tomcat容器并进行应用调试。

docker的war包部署相对简单,将war包放在Dockerfile相应的同一个目录下(其中Tomcat、jdk等都放该路径),编写Dockerfile文件:

FROM                 daocloud.io/ubuntu:latest
MAINTAINER           danlley   email: danlley@126.com

# now add java and tomcat support in the container
ADD jdk-8u121-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.0.M18.tar.gz /usr/local/

# configuration of java and tomcat ENV
ENV JAVA_HOME /usr/local/jdk1.8.0_121
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.0.M18
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.0.M18

ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

# add war in webapps
ADD ./myteay-web.war /usr/local/apache-tomcat-9.0.0.M18/webapps


# container listener port
EXPOSE 8080

# startup wev application services by self
CMD /usr/local/apache-tomcat-9.0.0.M18/bin/catalina.sh run

 接下来通过Dockerfile构建webapp镜像

1、生成镜像:

root@danlley-VirtualBox:/home/danlley/dockerfiles# docker build .

 2、为生成的镜像打tag:

root@danlley-VirtualBox:/home/danlley/dockerfiles# docker tag abbbfb1f232d webapp

 3、启动镜像:

docker run -d -p 8090:8080 webap

 4、测试镜像部署结果,本地浏览器访问地址: http://192.168.56.102:8090

 至此,一个由docker构成的简单web应用搭建成功。

参考资料:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值