摘要:創(chuàng)建一個(gè)環(huán)境最近公司正在使用開發(fā)網(wǎng)站應(yīng)用,所以有必要了解下如何使用創(chuàng)建對(duì)應(yīng)的環(huán)境。還好,提供了文檔的形式來組合多個(gè)容器來搭建開發(fā)環(huán)境。下一步我們將使用來構(gòu)建更加復(fù)雜的開發(fā)環(huán)境。
從《從最簡(jiǎn)單的入手學(xué)習(xí) Docker (一)》一文中,可以簡(jiǎn)單的了解 Docker 的使用,這篇文章將再次重溫下 Docker 的使用。
創(chuàng)建一個(gè) Java Web 環(huán)境最近公司正在使用 Java Web 開發(fā)網(wǎng)站應(yīng)用,所以有必要了解下如何使用 Docker 創(chuàng)建對(duì)應(yīng)的環(huán)境。開發(fā) Java Web 應(yīng)用首要使用 Tomcat。
使用 Tomcat 鏡像Tomcat 是由 Apache 軟件基金會(huì)下屬的 Jakarta 項(xiàng)目開發(fā)的一個(gè) Servlet 容器,按照 Sun Microsystems 提供的技術(shù)規(guī)范,實(shí)現(xiàn)了對(duì) Servlet 和 JavaServer Page(JSP)的支持,并提供了作為 Web 服務(wù)器的一些特有功能,如 Tomcat 管理和控制平臺(tái)、安全域管理和 Tomcat 閥等。由于 Tomcat 本身也內(nèi)含了一個(gè) HTTP 服務(wù)器,它也可以被視作一個(gè)多帶帶的Web服務(wù)器。但是,不能將 Tomcat 和 Apache HTTP 服務(wù)器混淆,Apache HTTP 服務(wù)器是一個(gè)用 C 語言實(shí)現(xiàn)的 HTTP Web 服務(wù)器;這兩個(gè) HTTP web server 不是捆綁在一起的。Apache Tomcat 包含了一個(gè)配置管理工具,也可以通過編輯 XML 格式的配置文件來進(jìn)行配置。
來自 https://zh.wikipedia.org/wiki/Apache_Tomcat
使用 Tomcat 鏡像很簡(jiǎn)單:
docker run -it -p 8080:8080 --rm tomcat:8.0
運(yùn)行結(jié)果如下:
使用 MySQL 鏡像如果只是使用 Tomcat 鏡像就寫一篇文章,那也太 low 了。一個(gè)網(wǎng)站避免不了使用數(shù)據(jù)庫,而 Java 應(yīng)用使用自己的兄弟 --- MySQL,再合適不過了。
啟動(dòng)一個(gè) MySQL 實(shí)例非常簡(jiǎn)單:
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=000000 -e MYSQL_DATABASE=yemeishu_database daocloud.io/mysql:latest
我們進(jìn)入該容器看看,是不是已經(jīng)創(chuàng)建了數(shù)據(jù)庫:yemeishu_database,以及是否設(shè)置了 root 的密碼為:000000。
如果使用數(shù)據(jù)庫客戶端,也可以看到創(chuàng)建的數(shù)據(jù)庫:yemeishu_database
使用 JPressJPress,一個(gè) wordpress 的 java 代替版本,使用 JFinal 開發(fā)。支持類似 wordpress 的幾乎所有功能,比如:模板,插件等。同時(shí)在模板上, JPress 提出了“模板即模型”的概念,方便模板制作人靈活制作業(yè)務(wù)模型,移除了 widget 等繁雜功能,同時(shí)在模板和插件制作上比 wordpress 更加靈活簡(jiǎn)潔。
來自https://github.com/JpressProjects/jpress
使用 JPress 的目標(biāo)是,學(xué)習(xí)將 MySQL 容器和 Tomcat 容器配合在一起,安裝和運(yùn)行 JPress 博客。
這里主要編寫 Dockerfile 文件和將博客源文件 jpress.war (來自于 JPress 官網(wǎng)) 放到 Tomcat 容器中:
FROM tomcat:8.0 MAINTAINER yemeishu "[email protected]" COPY jpress.war /usr/local/tomcat/webapps
然后執(zhí)行代碼來創(chuàng)建新鏡像:
docker build -t jpress:latest .
接著只要?jiǎng)?chuàng)建容器:
docker run -d -p 8888:8080 jpress
最后只需在瀏覽器輸入網(wǎng)址:http://localhost:8888/jpress/
如果配置完之后,一直停留在最后一步,可以重啟容器:
docker restart cefe34ed2003預(yù)告
如果需要多個(gè)容器配合來配置一個(gè)項(xiàng)目的開發(fā)環(huán)境時(shí),不能總是這么操作吧——一個(gè)一個(gè)容器的創(chuàng)建,然后再進(jìn)行關(guān)聯(lián)。
還好,Docker 提供了 「docker-compose.yml」文檔的形式來組合多個(gè)容器來搭建開發(fā)環(huán)境。
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」來構(gòu)建更加復(fù)雜的開發(fā)環(huán)境。
覺得這個(gè)挺好玩的
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/27030.html
摘要:以便對(duì)整個(gè)持續(xù)集成印象加深。配置完各環(huán)境發(fā)布腳本后,則可以使用構(gòu)建發(fā)起進(jìn)行觸發(fā)環(huán)境準(zhǔn)備。并會(huì)在遠(yuǎn)程環(huán)境上存放多次發(fā)布的版本,用于回退和切換服務(wù)停用。進(jìn)行等操作,停止原本運(yùn)行的服務(wù)切換啟用。 該文章用于建立一個(gè)小型的基于Walle的持續(xù)集成工具。解決java,react,angular項(xiàng)目的編譯發(fā)布。以便對(duì)整個(gè)持續(xù)集成印象加深。官方網(wǎng)站:https://walle-web.io/ 適用...
摘要:更換源更新源使用的源通過安裝腳本安裝應(yīng)用所需要的依賴。 showImg(https://segmentfault.com/img/remote/1460000011106825); 有了第二篇《使用 Docker 搭建簡(jiǎn)易的 Java Web 環(huán)境 (二)》,懂了如何通過單一鏡像創(chuàng)建 Docker 環(huán)境,這篇主要學(xué)習(xí)如何使用「docker-compose」。目標(biāo)是:搭建 Laravel...
摘要:更換源更新源使用的源通過安裝腳本安裝應(yīng)用所需要的依賴。 showImg(https://segmentfault.com/img/remote/1460000011106825); 有了第二篇《使用 Docker 搭建簡(jiǎn)易的 Java Web 環(huán)境 (二)》,懂了如何通過單一鏡像創(chuàng)建 Docker 環(huán)境,這篇主要學(xué)習(xí)如何使用「docker-compose」。目標(biāo)是:搭建 Laravel...
摘要:進(jìn)階多線程開發(fā)關(guān)鍵技術(shù)后端掘金原創(chuàng)文章,轉(zhuǎn)載請(qǐng)務(wù)必將下面這段話置于文章開頭處保留超鏈接。關(guān)于中間件入門教程后端掘金前言中間件 Java 開發(fā)人員最常犯的 10 個(gè)錯(cuò)誤 - 后端 - 掘金一 、把數(shù)組轉(zhuǎn)成ArrayList 為了將數(shù)組轉(zhuǎn)換為ArrayList,開發(fā)者經(jīng)常... Java 9 中的 9 個(gè)新特性 - 后端 - 掘金Java 8 發(fā)布三年多之后,即將快到2017年7月下一個(gè)版...
摘要:多線程編程這篇文章分析了多線程的優(yōu)缺點(diǎn),如何創(chuàng)建多線程,分享了線程安全和線程通信線程池等等一些知識(shí)。 中間件技術(shù)入門教程 中間件技術(shù)入門教程,本博客介紹了 ESB、MQ、JMS 的一些知識(shí)... SpringBoot 多數(shù)據(jù)源 SpringBoot 使用主從數(shù)據(jù)源 簡(jiǎn)易的后臺(tái)管理權(quán)限設(shè)計(jì) 從零開始搭建自己權(quán)限管理框架 Docker 多步構(gòu)建更小的 Java 鏡像 Docker Jav...
閱讀 698·2021-11-15 11:37
閱讀 4188·2021-09-09 09:34
閱讀 3592·2019-08-30 15:52
閱讀 2631·2019-08-29 14:03
閱讀 2870·2019-08-26 13:36
閱讀 1617·2019-08-26 12:16
閱讀 1619·2019-08-26 11:45
閱讀 3513·2019-08-23 18:41