在學(xué)習(xí)了docker的基本操作之后,我們就可以嘗試在我們的container中部署一些基本的應(yīng)用了。
這篇文章我們就來(lái)說(shuō)一下怎么在docker中快速部署一個(gè)web應(yīng)用。
首先肯定是要機(jī)器中安裝了docker,如果沒(méi)安裝就是用yum install -y docker 命令安裝一下
既然是部署web應(yīng)用,那么當(dāng)然少不了Tomcat了,所以我們應(yīng)該先拉取Tomcat鏡像。命令如下
這個(gè)鏡像有點(diǎn)大,所以可以事先拉取好,節(jié)省時(shí)間。
接下來(lái)我們就用Tomcat鏡像來(lái)啟動(dòng)一個(gè)容器
docker run -it --name webdemo -p 80:8080 tomcat /bin/bash
這里我們啟動(dòng)一個(gè)交互式的容器,名字是webdemo,-p 80:8080表示將容器的8080端口映射到主機(jī)的80端口,這樣我們只要訪問(wèn)主機(jī)的80端口就可以訪問(wèn)到容器的服務(wù)了。
容器創(chuàng)建好了之后是會(huì)進(jìn)入容器里面的,這時(shí)我們剛好可以看看內(nèi)部的文件結(jié)構(gòu)。那里有個(gè)webapps文件,我們只要把我們的web應(yīng)用程序保存成war包的格式,然后再?gòu)?fù)制到這個(gè)文件中就可以了。因?yàn)門(mén)omcat會(huì)自動(dòng)幫我們解壓并且部署war包。
如何將文件從主機(jī)復(fù)制到容器中?
因?yàn)槲抑暗慕K端在容器里面,這里我開(kāi)啟第二個(gè)終端進(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
其中那個(gè)長(zhǎng)的字符串是容器的id,自己去查一下。 后面的路徑是容器的內(nèi)部路徑,實(shí)在不懂可以復(fù)制過(guò)去,這里要注意:冒號(hào)后面沒(méi)有空格,我之前有空格,一直復(fù)制不過(guò)去。
接下來(lái)就是啟動(dòng)Tomcat了。
war包已經(jīng)導(dǎo)入容器中了,這個(gè)時(shí)候我們可以去第一個(gè)終端查看一下
可以看到war包已經(jīng)導(dǎo)入了。但是這個(gè)時(shí)候Tomcat服務(wù)其實(shí)是沒(méi)有啟動(dòng)的,下面我們就啟動(dòng)Tomcat服務(wù),讓Tomcat幫我們完成war包的解壓和部署。
這里我們進(jìn)入bin目錄把目錄下的catalina.sh文件run起來(lái),這樣Tomcat就跑起來(lái)了,而且Tomcat跑起來(lái)是在前端運(yùn)行的,這也是我為什么打開(kāi)第二個(gè)終端的原因。
最后我們可以在瀏覽器中查看效果:
這個(gè)頁(yè)面只是我用來(lái)做演示的,所以大家有別的小應(yīng)用都可以試試看!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。