目录
1、启动docker服务
[root@mgr1 ~]# systemctl start docker.service
2、拉取Nginx、Tomcat
[root@mgr1 ~]# docker pull tomcat
[root@mgr1 ~]# docker pull nginx
#查看镜像
[root@mgr1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 2d389e545974 10 days ago 142MB
tomcat latest 7a91e6f458bb 3 weeks ago 475MB
3、启动三个容器
[root@mgr1 ~]# docker run -itd --name nginx-master -p 80:80 nginx
[root@mgr1 ~]# docker run -itd --name tomcat-1 -p 8081:8080 tomcat
[root@mgr1 ~]# docker run -itd --name tomcat-2 -p 8082:8080 tomcat
#查看运行的容器
[root@mgr1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f64e91240f40 tomcat "catalina.sh run" 43 seconds ago Up 41 seconds 0.0.0.0:8082->8080/tcp, :::8082->8080/tcp tomcat-2
bce55210b79e tomcat "catalina.sh run" About a minute ago Up About a minute 0.0.0.0:8081->8080/tcp, :::8081->8080/tcp tomcat-1
c1cc3ea58b4f nginx "/docker-entrypoint.…" 4 minutes ago Up 4 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp nginx-master
4、配置
1)进入Tomcat8081容器配置
[root@mgr1 ~]# docker exec -it tomcat-1 bash
root@bce55210b79e:/usr/local/tomcat# cd webapps
root@bce55210b79e:/usr/local/tomcat/webapps# mkdir ROOT
root@bce55210b79e:/usr/local/tomcat/webapps# cd ROOT/
root@bce55210b79e:/usr/local/tomcat/webapps/ROOT# echo 8081 > index.html
root@bce55210b79e:/usr/local/tomcat/webapps# exit
2)进入Tomcat8082容器配置
[root@mgr1 ~]# docker exec -it tomcat-2 bash
root@f64e91240f40:/usr/local/tomcat# cd webapps
root@f64e91240f40:/usr/local/tomcat/webapps# mkdir ROOT #目录与tomcat8081创建一样的
root@f64e91240f40:/usr/local/tomcat/webapps# cd ROOT/
root@f64e91240f40:/usr/local/tomcat/webapps/ROOT# echo 8082 > index.html
root@f64e91240f40:/usr/local/tomcat/webapps/ROOT# exit
exit
3)进入Nginx8080容器配置负载均衡
[root@mgr1 ~]# docker exec -it nginx-master bash
root@a9ab43a2ec5e:/# apt-get update
root@a9ab43a2ec5e:/# apt-get install vim
root@a9ab43a2ec5e:/# vim /etc/nginx/conf.d/default.conf
#更改第一个location
location / {
proxy_pass http://myserver;
}
root@a9ab43a2ec5e:/# vim /etc/nginx/nginx.conf
#在gzip下面添加
upstream myserver {
server 192.168.10.129:8081;
server 192.168.10.129:8082;
}
#检查配置是否正确
root@a9ab43a2ec5e:/# nginx -t
#重新加载
root@a9ab43a2ec5e:/# nginx -s reload
5、验证
[root@mgr1 ~]# curl 192.168.10.129
8081
[root@mgr1 ~]# curl 192.168.10.129
8082
[root@mgr1 ~]# curl 192.168.10.129
8081
[root@mgr1 ~]# curl 192.168.10.129
8082
[root@mgr1 ~]# curl 192.168.10.129
8081
[root@mgr1 ~]# curl 192.168.10.129
8082