從《從最簡單的入手學習 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 期待您關注
感謝您能看到這了