国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

Docker中Dockerfile之容器中運行MyEclipse搭建的JavaWeb項目

2024-09-01 13:50:42
字體:
來源:轉載
供稿:網友

這篇文章將講述如何將上一篇文章中的Javaweb項目制作成Docker的鏡像。小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

應用程序在Docker容器中運行和在物理機運行的原理是一樣的,所以我們部署這個Javaweb項目到Docker中的步驟應該如下:

  • 服務器支持(這里選擇Centos7)
  • 安裝Java環境
  • 安裝Tomcat環境
  • 將Tomcat根目錄下的webapps/ROOT目錄下的所有文件(夾)刪除
  • 將自己開發的web項目的WebRoot目錄下的所有文件(夾)復制到Tomcat的webapps/ROOT下
  • 啟動Tomcat服務

步驟已經很清楚了,但要制作Docker鏡像還得借助另一樣東西:Dockerfile。

Dockerfile是一個包含有Docker能識別的特殊指令的文件。當創建好Dockerfile文件之后就可以使用docker build來創建docker鏡像了。

開始構建Docker鏡像

  • 創建一個本示例的文件夾webapp
  • 將項目的WebRoot拷貝到該文件夾
  • 創建Dockerfile文件

結構如下圖:

構建Docker鏡像結構圖

dockerfile,javaweb,docker搭建java,web,java,環境

創建鏡像

docker build -t "zsl131/web01" .

注意:

docker build:創建Docker鏡像

-t "zsl131/web01":指定鏡像名稱,這里指定為zsl131/web01;鏡像名稱由倉庫和名稱兩部份組成,zsl131為我在hub.docker.com注冊申請的倉庫名稱,web01才是這個鏡像的名稱

.:注意前面有個空格,表示在當前目錄下找Dockerfile文件來構建鏡像。

下面是本示例創建Docker鏡像的Dockerfile,為了更加認識Dockerfile可以將下面文件中的指令全部刪除,然后每加一行執行一次:docker build -t "zsl131/web01" .,這樣可以看到使用Dockerfile來構建鏡像時的各種信息:

# 以Centos7作為基礎鏡像FROM centos:7# 在不知道該如何安裝jdk時可以啟用下面這行命令,然后就直接運行:docker build#RUN yum search java | grep jdk# 選擇適合的jdk版本安裝RUN yum install -y java-1.7.0-openjdk.x86_64# 在根目錄下創建一個名為web的目錄RUN mkdir /web/# 設置工作目錄為/web,設置之后可以使用:RUN pwd來查看當前的路徑WORKDIR /web/# 安裝wget以方便下載tomcatRUN 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# 設置工具目錄WORKDIR /web/apache-tomcat-6.0.48/webapps/ROOT/# 查看當前目錄下的所有文件(夾),這時會有tomcat自帶的一些文件RUN ls -l# 刪除當前目錄下的所有文件(夾)RUN rm -rf *# 刪除后再列表,這時沒有任何文件RUN ls -l# 將WebRoot目錄下的所有文件(夾)復制到當前目錄即(webapps/ROOT),這里也可以使用COPY指令ADD WebRoot .# 復制完成后可以再列表看一下是否復制成功RUN ls -l# 設置工作目錄到tomcat的bin目錄下,以方便啟動tomcat服務WORKDIR /web/apache-tomcat-6.0.48/bin/# 對外暴露tomcat的8080端口EXPOSE 8080# 啟動tomcat服務,這樣啟動不會在docker run時被覆蓋ENTRYPOINT ["./catalina.sh", "run"]

完成Dockerfile的編寫后,最后再通過以下命令構建鏡像:

docker build -t "zsl131/web01" .

通過命令docker images可以查看剛剛構建的鏡像。

運行容器

docker run -d --name web01 -p 80:8080 zsl131/web01

說明:

docker run:運行容器命令

-d:后臺運行

--name web01:設置容器名稱為web01

-p 80:8080:將對外暴露的端口指定為80,即當外部訪問80端口時會映射到容器內的8080端口

zsl131/web01:鏡像名稱

查看容器啟動日志

docker logs web01

說明:

docker logs:查看容器日志命令

web01:被查看的容器名稱,這里是web01

訪問

打開瀏覽器輸入:http://192.168.99.100即可訪問由MyEclipse創建的Javaweb項目了。

注意:192.168.99.100是我docker宿主機的ip地址,可以通過docker-machine inspect test01來查看,其中test01是docker宿主機的名稱。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 肇州县| 东莞市| 龙口市| 田林县| 通州区| 荥阳市| 固阳县| 南汇区| 丰原市| 鹤壁市| 陇西县| 桐庐县| 陆良县| 徐州市| 莎车县| 黔西| 广水市| 修文县| 利川市| 西乌珠穆沁旗| 阿克| 鲁山县| 深水埗区| 邻水| 凌海市| 盐亭县| 观塘区| 隆安县| 阿拉善左旗| 大港区| 北宁市| 麻阳| 阿巴嘎旗| 镇赉县| 山东省| 涟水县| 宝兴县| 山丹县| 龙口市| 丰都县| 西青区|