這篇文章主要講解了“Dockerfile容器中怎么運行MyEclipse搭建的JavaWeb項目”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Dockerfile容器中怎么運行MyEclipse搭建的JavaWeb項目”吧!
創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的上杭網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
應(yīng)用程序在docker容器中運行和在物理機運行的原理是一樣的,所以我們部署這個javaweb項目到docker中的步驟應(yīng)該如下:
服務(wù)器支持(這里選擇centos7)
安裝java環(huán)境
安裝tomcat環(huán)境
將tomcat根目錄下的webapps/root目錄下的所有文件(夾)刪除
將自己開發(fā)的web項目的webroot目錄下的所有文件(夾)復(fù)制到tomcat的webapps/root下
啟動tomcat服務(wù)
步驟已經(jīng)很清楚了,但要制作docker鏡像還得借助另一樣?xùn)|西:dockerfile。
dockerfile是一個包含有docker能識別的特殊指令的文件。當(dāng)創(chuàng)建好dockerfile文件之后就可以使用docker build來創(chuàng)建docker鏡像了。
開始構(gòu)建docker鏡像
創(chuàng)建一個本示例的文件夾webapp
將項目的webroot拷貝到該文件夾
創(chuàng)建dockerfile文件
結(jié)構(gòu)如下圖:
構(gòu)建docker鏡像結(jié)構(gòu)圖
創(chuàng)建鏡像
docker build -t "zsl131/web01" .
注意:
docker build:創(chuàng)建docker鏡像
-t "zsl131/web01":指定鏡像名稱,這里指定為zsl131/web01;鏡像名稱由倉庫和名稱兩部份組成,zsl131為我在hub.docker.com注冊申請的倉庫名稱,web01才是這個鏡像的名稱
.:注意前面有個空格,表示在當(dāng)前目錄下找dockerfile文件來構(gòu)建鏡像。
下面是本示例創(chuàng)建docker鏡像的dockerfile,為了更加認(rèn)識dockerfile可以將下面文件中的指令全部刪除,然后每加一行執(zhí)行一次:docker build -t "zsl131/web01" .,這樣可以看到使用dockerfile來構(gòu)建鏡像時的各種信息:
# 以centos7作為基礎(chǔ)鏡像 from centos:7 # 在不知道該如何安裝jdk時可以啟用下面這行命令,然后就直接運行:docker build #run yum search java | grep jdk # 選擇適合的jdk版本安裝 run yum install -y java-1.7.0-openjdk.x86_64 # 在根目錄下創(chuàng)建一個名為web的目錄 run mkdir /web/ # 設(shè)置工作目錄為/web,設(shè)置之后可以使用:run pwd來查看當(dāng)前的路徑 workdir /web/ # 安裝wget以方便下載tomcat run yum install -y wget # 下載tomcat壓縮文件 run wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-6/v6.0.48/bin/apache-tomcat-6.0.48.tar.gz # 解壓tomcat文件 run tar zxvf apache-tomcat-6.0.48.tar.gz # 設(shè)置工具目錄 workdir /web/apache-tomcat-6.0.48/webapps/root/ # 查看當(dāng)前目錄下的所有文件(夾),這時會有tomcat自帶的一些文件 run ls -l # 刪除當(dāng)前目錄下的所有文件(夾) run rm -rf * # 刪除后再列表,這時沒有任何文件 run ls -l # 將webroot目錄下的所有文件(夾)復(fù)制到當(dāng)前目錄即(webapps/root),這里也可以使用copy指令 add webroot . # 復(fù)制完成后可以再列表看一下是否復(fù)制成功 run ls -l # 設(shè)置工作目錄到tomcat的bin目錄下,以方便啟動tomcat服務(wù) workdir /web/apache-tomcat-6.0.48/bin/ # 對外暴露tomcat的8080端口 expose 8080 # 啟動tomcat服務(wù),這樣啟動不會在docker run時被覆蓋 entrypoint ["./catalina.sh", "run"]
完成dockerfile的編寫后,最后再通過以下命令構(gòu)建鏡像:
docker build -t "zsl131/web01" .
通過命令docker images可以查看剛剛構(gòu)建的鏡像。
運行容器
docker run -d --name web01 -p 80:8080 zsl131/web01
說明:
docker run:運行容器命令
-d:后臺運行
--name web01:設(shè)置容器名稱為web01
-p 80:8080:將對外暴露的端口指定為80,即當(dāng)外部訪問80端口時會映射到容器內(nèi)的8080端口
zsl131/web01:鏡像名稱
查看容器啟動日志
docker logs web01
說明:
docker logs:查看容器日志命令
web01:被查看的容器名稱,這里是web01
訪問
打開瀏覽器輸入:http://192.168.99.100即可訪問由myeclipse創(chuàng)建的javaweb項目了。
注意:192.168.99.100是我docker宿主機的ip地址,可以通過docker-machine inspect test01來查看,其中test01是docker宿主機的名稱。
感謝各位的閱讀,以上就是“Dockerfile容器中怎么運行MyEclipse搭建的JavaWeb項目”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Dockerfile容器中怎么運行MyEclipse搭建的JavaWeb項目這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!