实战docker,编写Dockerfile定制tomcat镜像,实现web应用在线部署 (2)

执行中会有类似输出:

这里写图片描述

执行完毕后,输入docker images可以查看当前本机的镜像,如下图,可以看到新增的镜像:

这里写图片描述


有了镜像,执行下面的命令就可以启动tomcat了:

docker run --name=tomcat001 -p 8080:8080 -e TOMCAT_SERVER_ID=tomcat_server_001 -idt bolingcavalrytomcat:0.0.1

参数-e TOMCAT_SERVER_ID=tomcat_server_001的意思是在容器中设置了环境变量TOMCAT_SERVER_ID,值是tomcat_server_001
这时候再执行docker ps命令,可以看到启动的容器:

这里写图片描述

用浏览器访问localhost:8080,可以看到熟悉的页面:

这里写图片描述

现在tomcat也启动了,代码也写好了,可以试试在线部署了么?别急,还差最后一步,打开maven的安装目录,在conf目录下找到settings.xml文件,打开后在servers节点添加以下内容:

<server> <id>tomcat7</id> <username>account001</username> <password>password001</password> </server>

这就是在tomcat的tomcat-users.xml文件中配置的用户和密码,这样执行maven插件的时候就能从此处取得对应的用户名和密码去tomcat上做操作了。

回到之前的那个web工程,用命令行进入pom.xml文件所在的目录,执行命令

mvn clean package -U -Dmaven.test.skip=true tomcat7:redeploy

执行结果如下:

这里写图片描述

ok,tomcat7-maven-plugin插件已经帮我们把war部署到docker容器上去了,在浏览器输入

:8080/loadbalancedemo/hello?name=张三

可以看到如下效果:

这里写图片描述

蓝色字体的tomcat_server_001就是我们启动tomcat容器时通过-e参数设置的环境变量,在HelloController中被成功取出并展示到jsp页面上,代码如下图:

这里写图片描述

以上通过对tomcat官方镜像的一些文件操作,得到了我们自己制作的镜像文件,并结合mvn插件实现了web应用在线部署在tomcat容器上的效果,下一次实战,我们会接着这个例子启动两个tomcat容器,再在前面放一个nginx,来实现负载均衡,过程中会学到docker compose和link的相关知识。

欢迎关注我的公众号

在这里插入图片描述

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wspwgd.html