使用 Docker 搭建簡易的 Java Web 環境 (二)

group_5622_0
group_5622_0

《從最簡單的入手學習 Docker (一)》一文中,能夠簡單的瞭解 Docker 的使用,這篇文章將再次重溫下 Docker 的使用。java

建立一個 Java Web 環境

最近公司正在使用 Java Web 開發網站應用,因此有必要了解下如何使用 Docker 建立對應的環境。開發 Java Web 應用首要使用 Tomcat。mysql

使用 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 格式的配置文件來進行配置。
來自 zh.wikipedia.org/wiki/Apache…git

使用 Tomcat 鏡像很簡單:github

docker run -it -p 8080:8080 --rm tomcat:8.0複製代碼

WX20170911-212332@2x
WX20170911-212332@2x

運行結果以下:web

WX20170911-212536@2x
WX20170911-212536@2x

使用 MySQL 鏡像

若是隻是使用 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複製代碼

WX20170911-213430@2x
WX20170911-213430@2x

咱們進入該容器看看,是否是已經建立了數據庫:yemeishu_database,以及是否設置了 root 的密碼爲:000000。數據庫

WX20170911-213820@2x
WX20170911-213820@2x

若是使用數據庫客戶端,也能夠看到建立的數據庫:yemeishu_database瀏覽器

WX20170911-213933@2x
WX20170911-213933@2x

使用 JPress

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 .複製代碼

WX20170911-215021@2x
WX20170911-215021@2x

接着只要建立容器:

docker run -d -p 8888:8080 jpress複製代碼

最後只需在瀏覽器輸入網址:http://localhost:8888/jpress/

WX20170911-205014@2x
WX20170911-205014@2x

若是配置完以後,一直停留在最後一步,能夠重啓容器:

docker restart cefe34ed2003複製代碼

WX20170911-204247@2x
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」來構建更加複雜的開發環境。


coding01 期待您關注

qrcode
qrcode


感謝您能看到這了

qrcode
qrcode
相關文章
相關標籤/搜索