从《从最简单的入手学习 Docker (一)》一文中,能够简单的了解 Docker 的使用,这篇文章将再次重温下 Docker 的使用。java
最近公司正在使用 Java Web 开发网站应用,因此有必要了解下如何使用 Docker 建立对应的环境。开发 Java Web 应用首要使用 Tomcat。mysql
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 格式的配置文件来进行配置。
来自 zh.wikipedia.org/wiki/Apache…git
使用 Tomcat 镜像很简单:github
docker run -it -p 8080:8080 --rm tomcat:8.0复制代码
运行结果以下:web
若是只是使用 Tomcat 镜像就写一篇文章,那也太 low 了。一个网站避免不了使用数据库,而 Java 应用使用本身的兄弟 --- MySQL,再合适不过了。sql
启动一个 MySQL 实例很是简单:docker
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,一个 wordpress 的 java 代替版本,使用 JFinal 开发。支持相似 wordpress 的几乎全部功能,好比:模板,插件等。同时在模板上, JPress 提出了“模板即模型”的概念,方便模板制做人灵活制做业务模型,移除了 widget 等繁杂功能,同时在模板和插件制做上比 wordpress 更加灵活简洁。
来自github.com/JpressProje…tomcat
使用 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 期待您关注
感谢您能看到这了