簡介
基于docker容器以及docker-compose,所以需要自學docker在linux環境的基本使用
使用兩個tomcat作為負載均衡的服務端
1.使用docker拉取tomcat和nginx鏡像
拉取nginx參考
拉取tomcat參考
2.使用docker-compose創建兩個tomcat服務
新建tomcat目錄,在該目錄下創建docker-compose.yml文件,輸入如下內容:
version: '3' services: tomcat1: image: tomcat container_name: tomcat1 ports: - 9090:8080 tomcat2: image: tomcat container_name: tomcat2 ports: - 9091:8080
在該docker-compose.yml同一目錄下運行如下命令啟動容器(-d 表示后臺運行)
docker-compose up -d
成功后查看docker容器列表
命令
docker ps
結果示例有tomcat1和tomcat2兩個容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 271dd3610d1d tomcat "catalina.sh run" 58 minutes ago Up 58 minutes 0.0.0.0:9091->8080/tcp tomcat2 fa19d20f0022 tomcat "catalina.sh run" 58 minutes ago Up 58 minutes 0.0.0.0:9090->8080/tcp tomcat1
以交互的方式進入容器,修改首頁內容,以便區分兩個tomcat(下面已tomcat為例)
命令
docker exec -it fa19d20f0022 bash
向首頁追加內容
echo "9090" >> webapps/ROOT/index.jsp
3.創建nginx服務
新建nginx目錄,在該目錄下創建docker-compose.yml文件,輸入如下內容:
version: '3.1' services: nginx: restart: always image: nginx container_name: nginx ports: - 81:80 volumes: - ./conf/nginx.conf:/etc/nginx/nginx.conf
由于docker-compose自動會將/conf/nginx.conf作為文件夾處理,所以需要在創建容器前,在nginx目錄下,創建conf目錄,在conf目錄下,創建nginx.conf文件,并輸入如下內容:
user nginx; worker_processes 1; events { worker_connections 1024; } http { upstream myapp1 { server [服務器ip]:9090 weight=10; server [服務器ip]:9091 weight=10; } server { listen 80; server_name [服務器ip]; location / { proxy_pass http://myapp1; } } }
在docker-compose.yml同一目錄下運行
docker-compose up -d
4. 訪問 [服務器ip]:81網址,多刷新幾次,觀察兩個tomcat服務之間的切換
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。