使用Docker搭建简易的 Java Web 环境

![group_5622_0](http://ow20g4tgj.bkt.clouddn.com/2017-09-10-group_5622_0.png) 从[《从最简单的入手学习 Docker (一)》](http://mp.weixin.qq.com/s?__biz=MzIzNzEyNTc5Mg==&mid=100000030&idx=1&sn=3627f11ce45d62a35086c717dd43893e&chksm=68cc28d15fbba1c79340a159165eb8ca228d0b37561da33bfc9d505febc27b500d9853e55444#rd)一文中,可以简单的了解 Docker 的使用,这篇文章将再次重温下 Docker 的使用。 ## 创建一个 Java Web 环境 最近公司正在使用 Java Web 开发网站应用,所以有必要了解下如何使用 Docker 创建对应的环境。开发 Java Web 应用首要使用 Tomcat。 ### 使用 Tomcat 镜像 > Tomcat 是由 Apache 软件基金会下属的 Jakarta 项目开发的一个 Servlet 容器,按照 Sun Microsystems 提供的技术规范,实现了对 Servlet 和 JavaServer Page(JSP)的支持,并提供了作为 Web 服务器的一些特有功能,如 Tomcat 管理和控制平台、安全域管理和 Tomcat 阀等。由于 Tomcat 本身也内含了一个 HTTP 服务器,它也可以被视作一个单独的Web服务器。但是,不能将 Tomcat 和 Apache HTTP 服务器混淆,Apache HTTP 服务器是一个用 C 语言实现的 HTTP Web 服务器;这两个 HTTP web server 不是捆绑在一起的。Apache Tomcat 包含了一个配置管理工具,也可以通过编辑 XML 格式的配置文件来进行配置。 > 来自 [https://zh.wikipedia.org/wiki/Apache_Tomcat](https://zh.wikipedia.org/wiki/Apache_Tomcat) 使用 Tomcat 镜像很简单: ```bash docker run -it -p 8080:8080 --rm tomcat:8.0 ``` ![WX20170911-212332@2x](http://ow20g4tgj.bkt.clouddn.com/2017-09-11-WX20170911-212332@2x.png) 运行结果如下: ![WX20170911-212536@2x](http://ow20g4tgj.bkt.clouddn.com/2017-09-11-WX20170911-212536@2x.png) ### 使用 MySQL 镜像 如果只是使用 Tomcat 镜像就写一篇文章,那也太 low 了。一个网站避免不了使用数据库,而 Java 应用使用自己的兄弟 --- MySQL,再合适不过了。 启动一个 MySQL 实例非常简单: ```bash docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=000000 -e MYSQL_DATABASE=yemeishu_database daocloud.io/mysql:latest ``` ![WX20170911-213430@2x](http://ow20g4tgj.bkt.clouddn.com/2017-09-11-WX20170911-213430@2x.png) 我们进入该容器看看,是不是已经创建了数据库:yemeishu_database,以及是否设置了 root 的密码为:000000。 ![WX20170911-213820@2x](http://ow20g4tgj.bkt.clouddn.com/2017-09-11-WX20170911-213820@2x.png) 如果使用数据库客户端,也可以看到创建的数据库:yemeishu_database ![WX20170911-213933@2x](http://ow20g4tgj.bkt.clouddn.com/2017-09-11-WX20170911-213933@2x.png) ### 使用 JPress > JPress,一个 wordpress 的 java 代替版本,使用 JFinal 开发。支持类似 wordpress 的几乎所有功能,比如:模板,插件等。同时在模板上, JPress 提出了“模板即模型”的概念,方便模板制作人灵活制作业务模型,移除了 widget 等繁杂功能,同时在模板和插件制作上比 wordpress 更加灵活简洁。 > 来自[https://github.com/JpressProjects/jpress](https://github.com/JpressProjects/jpress) 使用 JPress 的目标是,学习将 MySQL 容器和 Tomcat 容器配合在一起,安装和运行 JPress 博客。 这里主要编写 Dockerfile 文件和将博客源文件 jpress.war (来自于 JPress 官网) 放到 Tomcat 容器中: ```bash FROM tomcat:8.0 MAINTAINER yemeishu "yemeishu@126.com" COPY jpress.war /usr/local/tomcat/webapps ``` 然后执行代码来创建新镜像: ```bash docker build -t jpress:latest . ``` ![WX20170911-215021@2x](http://ow20g4tgj.bkt.clouddn.com/2017-09-11-WX20170911-215021@2x.png) 接着只要创建容器: ```bash docker run -d -p 8888:8080 jpress ``` 最后只需在浏览器输入网址:http://localhost:8888/jpress/ ![WX20170911-205014@2x](http://ow20g4tgj.bkt.clouddn.com/2017-09-11-WX20170911-205014@2x.png) 如果配置完之后,一直停留在最后一步,可以重启容器: ```bash docker restart cefe34ed2003 ``` ![WX20170911-204247@2x](http://ow20g4tgj.bkt.clouddn.com/2017-09-11-WX20170911-204247@2x.png) ## 预告 如果需要多个容器配合来配置一个项目的开发环境时,不能总是这么操作吧——一个一个容器的创建,然后再进行关联。 还好,Docker 提供了 「docker-compose.yml」文档的形式来组合多个容器来搭建开发环境。 > Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a Compose file to configure your application’s services. Then, using a single command, you create and start all the services from your configuration. 下一步我们将使用「Docker Compose」来构建更加复杂的开发环境。 *** **觉得这个挺好玩的** ![qrcode](http://ow20g4tgj.bkt.clouddn.com/2017-09-11-iOS.png)
posted @ 2017-09-13 09:18  叶梅树  阅读(400)  评论(0编辑  收藏  举报