1. 程式人生 > >在Docker中利用Tomcat快速部署web應用

在Docker中利用Tomcat快速部署web應用

在學習了docker的基本操作之後,我們就可以嘗試在我們的container中部署一些基本的應用了。
這篇文章我們就來說一下怎麼在docker中快速部署一個web應用。

  • 首先肯定是要機器中安裝了docker,如果沒安裝就是用yum install -y docker 命令安裝一下
yum install -y docker 
  • 既然是部署web應用,那麼當然少不了Tomcat了,所以我們應該先拉取Tomcat映象。命令如下
docker pull tomcat

這個映象有點大,所以可以事先拉取好,節省時間。

  • 接下來我們就用Tomcat映象來啟動一個容器
docker run
-it --name webdemo -p 80:8080 tomcat /bin/bash

這裡我們啟動一個互動式的容器,名字是webdemo,-p 80:8080表示將容器的8080埠對映到主機的80埠,這樣我們只要訪問主機的80埠就可以訪問到容器的服務了。
這裡寫圖片描述
容器建立好了之後是會進入容器裡面的,這時我們剛好可以看看內部的檔案結構。那裡有個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包已經匯入容器中了,這個時候我們可以去第一個終端檢視一下
    這裡寫圖片描述
    可以看到war包已經匯入了。但是這個時候Tomcat服務其實是沒有啟動的,下面我們就啟動Tomcat服務,讓Tomcat幫我們完成war包的解壓和部署。
    這裡寫圖片描述
    這裡我們進入bin目錄把目錄下的catalina.sh檔案run起來,這樣Tomcat就跑起來了,而且Tomcat跑起來是在前端執行的,這也是我為什麼開啟第二個終端的原因。

最後我們可以在瀏覽器中檢視效果:
這裡寫圖片描述
這個頁面只是我用來做演示的,所以大家有別的小應用都可以試試看!