怎么在Docker中使用Tomcat部署一個web應(yīng)用?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
我們擁有10余年網(wǎng)頁設(shè)計和網(wǎng)站建設(shè)經(jīng)驗(yàn),從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁設(shè)計師為您提供的解決方案。為企業(yè)提供成都網(wǎng)站建設(shè)、做網(wǎng)站、微信開發(fā)、微信小程序、移動網(wǎng)站建設(shè)、html5、等業(yè)務(wù)。無論您有什么樣的網(wǎng)站設(shè)計或者設(shè)計方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設(shè)計服務(wù)并滿足您的需求。首先肯定是要機(jī)器中安裝了docker,如果沒安裝就是用yum install -y docker 命令安裝一下
yum install -y docker
既然是部署web應(yīng)用,那么當(dāng)然少不了Tomcat了,所以我們應(yīng)該先拉取Tomcat鏡像。命令如下
docker pull tomcat
這個鏡像有點(diǎn)大,所以可以事先拉取好,節(jié)省時間。
接下來我們就用Tomcat鏡像來啟動一個容器
docker run -it --name webdemo -p 80:8080 tomcat /bin/bash
這里我們啟動一個交互式的容器,名字是webdemo,-p 80:8080表示將容器的8080端口映射到主機(jī)的80端口,這樣我們只要訪問主機(jī)的80端口就可以訪問到容器的服務(wù)了。
容器創(chuàng)建好了之后是會進(jìn)入容器里面的,這時我們剛好可以看看內(nèi)部的文件結(jié)構(gòu)。那里有個webapps文件,我們只要把我們的web應(yīng)用程序保存成war包的格式,然后再復(fù)制到這個文件中就可以了。因?yàn)門omcat會自動幫我們解壓并且部署war包。
如何將文件從主機(jī)復(fù)制到容器中?
因?yàn)槲抑暗慕K端在容器里面,這里我開啟第二個終端進(jìn)行操作。我的war包文件我放在/mnt/的目錄下
從主機(jī)復(fù)制到容器 sudo docker cp host_path containerID:container_path
從容器復(fù)制到主機(jī) sudo docker cp containerID:container_path host_path
?我們這里用的命令是:
docker cp /mnt/webdemo.war a2f2091a661fa51e02c0be54f252fc46fc604932526b17038ccc267affcef12c:/usr/local/tomcat/webapps
其中那個長的字符串是容器的id,自己去查一下。 后面的路徑是容器的內(nèi)部路徑,實(shí)在不懂可以復(fù)制過去,這里要注意:冒號后面沒有空格,我之前有空格,一直復(fù)制不過去。
接下來就是啟動Tomcat了。
war包已經(jīng)導(dǎo)入容器中了,這個時候我們可以去第一個終端查看一下
可以看到war包已經(jīng)導(dǎo)入了。但是這個時候Tomcat服務(wù)其實(shí)是沒有啟動的,下面我們就啟動Tomcat服務(wù),讓Tomcat幫我們完成war包的解壓和部署。
這里我們進(jìn)入bin目錄把目錄下的catalina.sh文件run起來,這樣Tomcat就跑起來了,而且Tomcat跑起來是在前端運(yùn)行的,這也是我為什么打開第二個終端的原因。
最后我們可以在瀏覽器中查看效果:
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。