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: [email protected]

# 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应用搭建成功。

各位看官,原创不易啊,转载请注明出处: http://danlley.iteye.com 看在打字不易的份上,打赏一个吧

参考资料:

猜你喜欢

转载自danlley.iteye.com/blog/2365824