1.拉取tomcat映象
docker pull tomcat
2.建立容器
docker run -d tomcat1 tomcat
docker run -d tomcat2 tomcat
3.檢視tomcat1和tomcat2的ip
1.拉取nginx映象
docker pull nginx
2.建立nginx1容器,主要是為了複製檔案,完成後刪除就好
mdkir -p /data/nginx/conf/default
decker run -d --name=nginx1 nginx
複製相關的檔案
docker cp nginx1:/etc/nginx/conf.d/default.conf /data/nginx/conf/default
docker rm -f nginx1
建立nginx2容器
docker run -d --name=nginx2 -p 9090:80 -v /data/nginx/conf/default:/etc/nginx/conf.d nginx
3.修改配置檔案
cd /data/nginx/conf/
vi default.conf
新增如下內容,其中upstream中的ip就是上面tomcat的ip,預設埠為8080
儲存後,重啟:docker restart nginx2
接下來訪問:
第一次訪問:
第二次訪問:
借用以前網路的截屏加已說明
nginx負載均衡的原理:
1.輪詢,也就是我們第一次訪問就是tomcat1,第二次訪問就是tomcat2,輪流訪問
2.權重,weight來決定,比重越大訪問頻次越高,這樣對於效能好的伺服器可以比重大點,效能差的比重小點,提高效能
3.ip_hash ,通過ip的hash值分配,第一次訪問的時候根據hash值分配到對應的伺服器,然後此後就會一直是此伺服器提供服務,一般和權重結合起來使用效果較好
還有兩種,沒有使用過,不過還是了解下:
1.fair(第三方)按後端的相應時間來分配請求,響應時間短的優先分配
2.url_fail(第三方)
分號不要少,不然nginx容器啟動不起來
tomcat的配置是在/etc/nginx/conf.d/default.conf檔案,而不是/etc/nginx/nginx.conf,不然沒生效
docker搭建分布式排程系統
一 整體規劃圖 二 docker中搭建排程服務例項 分別在兩台機器上建立job admin例項 docker run d p 8090 8090 name job admin 2.1.1 0 restart always v data ucm2 data ucm2 rw e params sprin...
docker搭建分布式服務架構
整合dubbo,redis,rabbitmq,mysql中介軟體的分布式架構 用於docker例子中 概要設計 1.搭建zk,redis,mysql,rabbitmq,dubbo admin,jenkins,nginx中介軟體服務 2.倆臺業務伺服器a和b,a負責提供dubbo介面包括資料庫操作,r...
分布式環境搭建(三) 安裝docker
sudo yum remove docker docker client docker client latest docker common docker latest docker latest logrotate docker logrotate docker engine sudo yum ...