docker搭建分布式nginx tomcat

2021-10-04 19:22:28 字數 1927 閱讀 6638

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 ...