tomcat容器1
`docker run -d --name tomcat8080
-p 8080:8080
-v /zzyyuse/tomcat/8080/conf:/conf
-v /zzyyuse/tomcat/8080/logs:/logs
-v /zzyyuse/tomcat/8080/webapps:/webapps 625b734f984e`
tomcat容器2
`docker run -d --name tomcat8081 -p 8081:8080 -v
/zzyyuse/tomcat/8081/conf:/conf -v
/zzyyuse/tomcat/8081/logs:/logs -v
/zzyyuse/tomcat/8081/webapps:/webapps tomcat:8.5.32`
tomcat容器创建完毕:在一台linux操作系统上分别占用不同的端口
`[root@aubin zzyyuse]# docker ps`
`CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES`
`745f69d6965d tomcat:8.5.32 "catalina.sh run" About a minute ago Up About a minute 0.0.0.0:8081->8080/tcp tomcat8081`
`388e6628e16b 625b734f984e "catalina.sh run" 3 minutes ago Up 3 minutes 0.0.0.0:8080->8080/tcp tomcat8080`
在容器内部的webapps目录下创建页面
启动容器的交互式运行
`[root@aubin zzyyuse]# docker exec -it tomcat8081 /bin/bash`
·
分别在两个容器的webapps目录下的zhai目录下创建页面并进行测试
配置Nginx
启动一个Nginx容器
[root@aubin ~]# docker run -d -p 80:80 nginx
73b5dadf0e425322dd704462b92024a90c6346f2ae5186de15b036091cf927b0
[root@aubin ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
73b5dadf0e42 nginx "/docker-entrypoint.猞" 4 seconds ago Up 3 seconds 0.0.0.0:80->80/tcp laughing_khayyam
745f69d6965d tomcat:8.5.32 "catalina.sh run" 39 minutes ago Up 39 minutes 0.0.0.0:8081->8080/tcp tomcat8081
388e6628e16b 625b734f984e "catalina.sh run" 41 minutes ago Up 41 minutes 0.0.0.0:8080->8080/tcp tomcat8080
[root@aubin ~]# docker exec -it 73b5dadf0e42 /bin/bash
配置服务器地址
配置server
测试
每次访问相同的地址,显示的结果是不一样的,也就是说每次请求访问的服务器是不同的,Nginx能够将请求分配到不同的服务器。
负载均衡总结
分配策略
轮询
默认的策略,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除
weight
weight代表权,权重默认为1,权重越高被分配的客户端越多
ip_hash
每个请求按访问ip的 hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。例如:用户一首次访问到的是端口为8080的服务器,那么以后访问到的依旧是8080端口的服务器,可以解决session共享的问题。
fair
按后端服务器的响应时间来分配请求,响应时间短的优先分配。例如:有两个服务器,哪一台服务器的响应时间短就优先分配给它。