在Docker中利用Tomcat快速部署web應(yīng)用的方法示例
在學(xué)習(xí)了docker的基本操作之后,我們就可以嘗試在我們的container中部署一些基本的應(yīng)用了。
這篇文章我們就來說一下怎么在docker中快速部署一個(gè)web應(yīng)用。
首先肯定是要機(jī)器中安裝了docker,如果沒安裝就是用yum install -y docker 命令安裝一下
yum install -y docker
既然是部署web應(yīng)用,那么當(dāng)然少不了Tomcat了,所以我們應(yīng)該先拉取Tomcat鏡像。命令如下
docker pull tomcat
這個(gè)鏡像有點(diǎn)大,所以可以事先拉取好,節(jié)省時(shí)間。
接下來我們就用Tomcat鏡像來啟動(dòng)一個(gè)容器
docker run -it --name webdemo -p 80:8080 tomcat /bin/bash
這里我們啟動(dòng)一個(gè)交互式的容器,名字是webdemo,-p 80:8080表示將容器的8080端口映射到主機(jī)的80端口,這樣我們只要訪問主機(jī)的80端口就可以訪問到容器的服務(wù)了。
容器創(chuàng)建好了之后是會(huì)進(jìn)入容器里面的,這時(shí)我們剛好可以看看內(nèi)部的文件結(jié)構(gòu)。那里有個(gè)webapps文件,我們只要把我們的web應(yīng)用程序保存成war包的格式,然后再復(fù)制到這個(gè)文件中就可以了。因?yàn)門omcat會(huì)自動(dòng)幫我們解壓并且部署war包。
如何將文件從主機(jī)復(fù)制到容器中?
因?yàn)槲抑暗慕K端在容器里面,這里我開啟第二個(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ù)制過去,這里要注意:冒號(hào)后面沒有空格,我之前有空格,一直復(fù)制不過去。
接下來就是啟動(dòng)Tomcat了。
war包已經(jīng)導(dǎo)入容器中了,這個(gè)時(shí)候我們可以去第一個(gè)終端查看一下
可以看到war包已經(jīng)導(dǎo)入了。但是這個(gè)時(shí)候Tomcat服務(wù)其實(shí)是沒有啟動(dòng)的,下面我們就啟動(dòng)Tomcat服務(wù),讓Tomcat幫我們完成war包的解壓和部署。
這里我們進(jìn)入bin目錄把目錄下的catalina.sh文件run起來,這樣Tomcat就跑起來了,而且Tomcat跑起來是在前端運(yùn)行的,這也是我為什么打開第二個(gè)終端的原因。
最后我們可以在瀏覽器中查看效果:
這個(gè)頁面只是我用來做演示的,所以大家有別的小應(yīng)用都可以試試看!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
docker-compose部署MySQL8的實(shí)現(xiàn)
本文主要介紹了docker-compose部署MySQL8的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11Docker Overlay2磁盤空間占用過大清理的方法實(shí)現(xiàn)
隨著業(yè)務(wù)量的不斷增大,容器的不斷啟動(dòng),往往會(huì)出現(xiàn)磁盤空間不足,本文主要介紹了Docker Overlay2磁盤空間占用過大清理的方法實(shí)現(xiàn),感興趣的可以了解一下2022-03-03Docker網(wǎng)絡(luò)配置及部署SpringCloud項(xiàng)目詳解
bridge模式是Docker默認(rèn)的網(wǎng)絡(luò)設(shè)置,此模式會(huì)為每一個(gè)容器分配Network Namespace、設(shè)置IP等,并將一個(gè)主機(jī)上的Docker容器連接到一個(gè)虛擬網(wǎng)橋上,下面這篇文章主要給大家介紹了關(guān)于Docker網(wǎng)絡(luò)配置及部署SpringCloud項(xiàng)目的相關(guān)資料,需要的朋友可以參考下2023-01-01docker容器內(nèi)服務(wù)隨容器自動(dòng)啟動(dòng)的幾種方案
Docker是一種輕量級(jí)的容器化平臺(tái),可以幫助開發(fā)者快速部署、運(yùn)行和管理應(yīng)用程序,這篇文章主要給大家介紹了關(guān)于docker容器內(nèi)服務(wù)隨容器自動(dòng)啟動(dòng)的幾種方案,需要的朋友可以參考下2024-07-07docker?build?-t?和?docker?build?-f?區(qū)別解析
docker build 是用于構(gòu)建Docker鏡像的命令,它允許你基于一個(gè)Dockerfile來創(chuàng)建一個(gè)鏡像,在 docker build 命令中,有兩個(gè)常用的選項(xiàng) -t 和 -f,它們有不同的作用,這篇文章主要介紹了docker?build?-t?和?docker?build?-f?區(qū)別,需要的朋友可以參考下2023-08-08基于Docker搭建Redis主從集群的實(shí)現(xiàn)
本文基于Docker+Redis5.0.5版本,通過cluster方式創(chuàng)建一個(gè)6個(gè)redis實(shí)例的主從集群,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05springboot整合docker部署實(shí)現(xiàn)兩種構(gòu)建Docker鏡像方式
這篇文章主要介紹了springboot整合docker部署實(shí)現(xiàn)兩種構(gòu)建Docker鏡像方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-04-04