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