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

coding01發表於2019-03-03
group_5622_0
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 格式的配置檔案來進行配置。
來自 zh.wikipedia.org/wiki/Apache…

使用 Tomcat 映象很簡單:

docker run -it -p 8080:8080 --rm tomcat:8.0複製程式碼
WX20170911-212332@2x
WX20170911-212332@2x

執行結果如下:

WX20170911-212536@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
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…

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

相關文章