1. 程式人生 > 實用技巧 >linux上部署docker+tomcat服務,並部署專案

linux上部署docker+tomcat服務,並部署專案

前段時間專案要求在linux伺服器上用docker部署專案,搞負載均衡,因為前面學習過docker,所以查了很多資料,在這裡做一下筆記,備忘。

1、檢查核心版本 ,docker使用linux的核心必須是3.10以上,首先需要。

  執行:uname -r

2、使用yum安裝docker

  執行:yum install docker

3、檢視docker版本

  執行:docker -v

4、啟動docker服務,推薦開機自啟

  執行:  

    重啟:systemctl restart docker

    停止: systemctl stop docker

    啟動: systemctl start docker

    開機自啟: systemctl enable docker

    檢視狀態: systemctl status docker

這個時候,啟動了docker之後,就開始安裝tomcat。

5、搜尋tomcat映象,通過上述命令查詢tomcat映象,選擇Apache的tomcat,一般搜尋到的結果,Apache tomcat是排在第一個的。而後可以進行安裝

  執行:docker search tomcat

6、安裝tomcat映象

  執行:docker pull docker/io.tomcat

  這裡的docker/io.tomcat指的是上個步驟搜尋出來的name欄位的值

7、啟動tomcat服務

  執行:1)docker run -d -p 8088:8080docker/io.tomcat

     2)docker run -d -p 8088:8080 --name tomcat1 --restart=alwaysdocker/io.tomcat

      這是兩種啟動tomcat的命令,這裡詳細介紹一下:

-d表示後臺執行,-p埠對映,前面的8088是外圍訪問埠(也就是本機ip對外開放的埠),後面8080是docker容器內部的埠,

加--name tomcat1的意思,表示為此容器啟一個別名叫tomcat1,以後再也不用操作容器id進行關閉、進容器目錄什麼的,直接把容器ID換成tomcat1別名

加上--restart=always  表示此容器開機啟動

8、檢視正在執行的容器

  執行:docker ps

9、執行中的docker,可以通過命令對已經建立的容器進行管理

  啟動容器:執行:dockerstart 容器id/別名

  停止容器:執行:docker stop容器id/別名

  刪除容器:執行:docker rm容器id/別名

10、進入docker裡面的tomcat容器

  執行:

docker exec -it 容器id或別名 /bin/bash

11、退出docker裡面的tomcat容器

  執行:exit

12、接下來,將war放入docker的tomcat裡

  執行:docker cp 宿主機上war包的路徑 容器id或別名:/usr/local/tomcat/webapps

  例如:docker cp /usr/local/probject/bbs.war tomcat1:/usr/local/tomcat/webapps

執行中的tomcat會自動解壓war包並執行

13、這裡再介紹使用掛載的方式啟動tomcat,在上面執行完6之後。

  將宿主機上建立目錄:/usr/local/dev/docker-tomcat

  後面要部署專案只需要將war包上傳至此目錄即可,容器會自動執行

  執行:docker run -d -p 8088:8080 --name tomcat1 -v /usr/local/dev/docker-tomcat:/usr/local/tomcat/webapps --restart=always docker/io.tomcat

  執行:docker run -d -p 8089:8080 --name tomcat2 -v /usr/local/dev/docker-tomcat:/usr/local/tomcat/webapps --restart=always docker/io.tomcat

  解釋:docker run -d -p 8088:8080 --name 別名-v 宿主機路徑:/usr/local/tomcat/webapps --restart=always docker/io.tomcat

  這裡啟動了兩個容器:分別是tomcat1對應8088埠,tomcat2對應8089埠

14、這個時候使用nginx進行負載均衡配置,將請求轉發到 localhost:8088和localhost:8089即可

後面再學習一下通過Dockerfile來執行jar包