![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)

使用Docker搭建简易的 Java Web 环境的更多相关文章

  1. Java Web 环境搭建步骤(超详细,包括前期安装步骤)

    Java Web 环境搭建步骤 安装对应版本的JDK 配置环境变量 本人安装的路径是C盘,在path中加入C:\Program Files\Java\jdk1.8.0_65\bin 测试配置成功,cm ...

  2. Intellij IDEA工具Java web 环境搭建

    Java web 环境搭建 环境依赖 操作系统:Windows 7 64位 开发工具:IntelliJ IDEA 13.1.4 开发工具依赖环境 JDK版本:1.7+ 开发工具依赖插件 包管理:Mav ...

  3. 班级作业:Java Web环境的搭建

    Java Web环境的搭建 一.开发所需工具.(根据你的电脑以及系统选择合适的版本下载) 1.JDK .下载链接:https://www.oracle.com/technetwork/java/jav ...

  4. Java web环境的搭建

    学习java web 首先得要能够在自己的电脑上配置环境,经查阅资料后了解,需要装java EEEclipse ,即企业版的,还有就是tomcat服务器. 第一步,从网上下载,eclipse 企业版的 ...

  5. JAVA web环境搭建(使用Tomcat8整合httpd)

    说明:这里是Linux服务综合搭建文章的一部分,本文可以作为单独搭建Tomcat并整合httpd的参考. 注意:这里所有的标题都是根据主要的文章(Linux基础服务搭建综合)的顺序来做的. 如果需要查 ...

  6. ubuntu搭建java web环境

    java web环境即jdk+tomcat+mysql jdk:http://www.oracle.com/technetwork/java/javase/downloads/index.html t ...

  7. CentOS6.5中部署java web环境

    原来在linux中部署java web环境,没有做好总结,这次在部署的过程中,将部署的过程做了记录,希望对大家有帮助.主要内容包括CentOS安装以后的网络设置,系统自带jdk的卸载,新版本jdk的安 ...

  8. 搭建Myeclipse下Java Web开发环境

    1.准备 先下载软件:Myeclipse:http://www.xiazaiba.com/html/23858.html tomcat:http://files.cnblogs.com/files/l ...

  9. linux:搭建java web环境

    介绍 运行java web的环境 搭建 准备 Linux:Linux 操作系统 Apache Tomcat:Web 应用服务器 JDK:Java 开发工具包 jdk的安装 1.下载 链接 2.上传服务 ...

随机推荐

  1. 第五章之S5PV210将u-boot.bin从SD卡中搬到DDR中

    1,在完成上一节的memory初始化后,接下来在arch/arm/cpu/armv7/start.S的160行:如下图 2,跳转到arch/arm/lib/board.c下的board_init_f函 ...

  2. 香港服务器PING知识知多少?

    香港服务器PING命令简介: PING命令是用来检查要到达的目标IP地址并记录结果,显示目标是否响应以及接收答复所需的时间.如果在传递到目标过程中有错误,ping 命令将显示错误消息. 我们在HOST ...

  3. cn_office2016

    office 2016是可用激活器激活的,但是激活office 365就有点困难了. 附上office 2016下载地址:http://pan.baidu.com/s/1pLTqPyr 破解机:htt ...

  4. Hadoop 新生报道(三) hadoop基础概念

    一.NameNode,SeconderyNamenode,DataNode NameNode,DataNode,SeconderyNamenode都是进程,运行在节点上. 1.NameNode:had ...

  5. java中链接数据库的具体操作以及pstmt.setObject(i+1, objects[i])这行代码的意思

    package dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStat ...

  6. java实现网页爬虫

    接着上面一篇对爬虫需要的java知识,这一篇目的就是在于网页爬虫的实现,对数据的获取,以便分析. -----> 目录:   1.爬虫原理 2.本地文件数据提取及分析 3.单网页数据的读取 4.运 ...

  7. shell 脚本编程之特殊变量

    $0 当前脚本的文件名$n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2.$# 传递给脚本或函数的参数个数.$* 传递给脚本或函数的所有参数.$@ ...

  8. pyhton购物程序

    要求: 启动程序后,让用户输入工资,然后打印出带有序号的商品列表 用户输入商品序号购买相应的商品,或者输入 ' q ' 退出购买界面 选择商品后,检查余额是否足够,够则直接扣款,不够则提示余额不足 用 ...

  9. python之----------字符编码具体原理

    1.内存和硬盘都是用来存储的. CPU:速度快 硬盘:永久保存 2.文本编辑器存取文件的原理(nodepad++,pycharm,word) 打开编辑器就可以启动一个进程,是在内存中的,所以在编辑器编 ...

  10. maven3自定义archetype

    maven使用起来还是很方便,但默认自带的archetype配置junit版本比较老.每次创建新项目都要手动修改junit版本,所以就想着能不能自己建一个新版本出来,省得每次手动修改的麻烦. 网上找了 ...