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

《从最简单的入手学习 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

运行结果如下:

使用 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

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

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

使用 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 .

接着只要创建容器:

docker run -d -p 8888:8080 jpress

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

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

docker restart cefe34ed2003

预告

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

还好,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」来构建更加复杂的开发环境。

本文分享自微信公众号 - coding01(coding01)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-09-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏容器云生态

overlayfs存储驱动的使用以及技术探究

overlayfs存储驱动的使用以及技术探究 1.overlayfs 基本概念 一种联合文件系统,设计简单,速度更快。overlayfs在linux主机上只有两...

451100
来自专栏吴伟祥

Docker学习——Docker 三剑客(七) 顶

19910
来自专栏jeremy的技术点滴

基于Docker for macOS的Kubernetes本地环境搭建与应用部署

2.5K50
来自专栏纯洁的微笑

Spring Boot 2.0(六):使用 Docker 部署 Spring Boot 开源软件云收藏

云收藏项目已经开源2年多了,作为当初刚开始学习 Spring Boot 的练手项目,使用了很多当时很新的技术,现在看来其实很多新技术是没有必要使用的,但做为学习...

40970
来自专栏BestSDK

基于Docker的PHP开发环境

【编者的话】本文作者是Geoffrey,他是一个PHP的Web开发者,喜欢DevOps和Docker。本文主要介绍了如何使用Docker构建PHP的开发环境,文...

36090
来自专栏大愚Talk

Dockerfile 与 Compose 环境搭建学习笔记(二)

上一篇文章对整体结构进行了简单记录,这一篇介绍下关于Dockerfile自定义镜像以及各个服务的配置。

19320
来自专栏技术翻译

十大Docker记录问题

Docker不仅改变了应用程序的部署方式,还改变了日志管理的工作流程。容器将日志写入控制台(stdout / stderr),而Docker Logging D...

40540
来自专栏偏前端工程师的驿站

CentOS6.5菜鸟之旅:U盘安装CentOS64位

一、前言                                      之前下载了个CentOS7 32位版,一下就安装成功了,但由于其目录结构等与...

40250
来自专栏yukong的小专栏

mac os下使用 Docker安装 oracle数据库

在mac os需要通过docker-toolbox安装docker 你可以在这里下载docker-toolbox

53420

将通过Node.js构建的API部署到IBM Bluemix

在我先前的文章中,我通过一个简单的hello world示例介绍了如何在Node.js应用程序中使用Swagger记录API。下面我将演示如何把相同的示例通过D...

230110

扫码关注云+社区

领取腾讯云代金券