前段時間項目要求在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:8080 docker.io/tomcat
2)docker run -d -p 8088:8080 --name tomcat1 --restart=always docker.io/tomcat
這是兩種啟動tomcat的命令,這里詳細介紹一下:
-d表示后台運行,-p端口映射,前面的8088是外圍訪問端口(也就是本機ip對外開放的端口),后面8080是docker容器內部的端口,
加--name tomcat1 的意思,表示為此容器啟一個別名叫tomcat1 ,以后再也不用操作容器id進行關閉、進容器目錄什么的,直接把容器ID換成tomcat1 別名
加上--restart=always 表示此容器開機啟動
8、查看正在運行的容器
執行:docker ps
9、運行中的docker,可以通過命令對已經創建的容器進行管理
啟動容器:執行:docker start 容器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包