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

group_5622_0

《从最简单的入手学习 Docker (一)》一文中,可以简单的了解 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

使用 Tomcat 镜像很简单:

docker run -it -p 8080:8080 --rm tomcat:8.0

WX20170911-212332@2x

运行结果如下:

WX20170911-212536@2x

使用 MySQL 镜像

如果只是使用 Tomcat 镜像就写一篇文章,那也太 low 了。一个网站避免不了使用数据库,而 Java 应用使用自己的兄弟 --- MySQL,再合适不过了。

启动一个 MySQL 实例非常简单:

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=000000 -e MYSQL_DATABASE=yemeishu_database daocloud.io/mysql:latest

WX20170911-213430@2x

我们进入该容器看看,是不是已经创建了数据库:yemeishu_database,以及是否设置了 root 的密码为:000000。

WX20170911-213820@2x

如果使用数据库客户端,也可以看到创建的数据库:yemeishu_database

WX20170911-213933@2x

使用 JPress

JPress,一个 wordpress 的 java 代替版本,使用 JFinal 开发。支持类似 wordpress 的几乎所有功能,比如:模板,插件等。同时在模板上, JPress 提出了“模板即模型”的概念,方便模板制作人灵活制作业务模型,移除了 widget 等繁杂功能,同时在模板和插件制作上比 wordpress 更加灵活简洁。
来自https://github.com/JpressProjects/jpress

使用 JPress 的目标是,学习将 MySQL 容器和 Tomcat 容器配合在一起,安装和运行 JPress 博客。

这里主要编写 Dockerfile 文件和将博客源文件 jpress.war (来自于 JPress 官网) 放到 Tomcat 容器中:

FROM tomcat:8.0

MAINTAINER yemeishu "yemeishu@126.com"

COPY jpress.war /usr/local/tomcat/webapps

然后执行代码来创建新镜像:

docker build -t jpress:latest .

WX20170911-215021@2x

接着只要创建容器:

docker run -d -p 8888:8080 jpress

最后只需在浏览器输入网址:http://localhost:8888/jpress/

WX20170911-205014@2x

如果配置完之后,一直停留在最后一步,可以重启容器:

docker restart cefe34ed2003

WX20170911-204247@2x

预告

如果需要多个容器配合来配置一个项目的开发环境时,不能总是这么操作吧——一个一个容器的创建,然后再进行关联。

还好,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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值