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包