1、概述:
即nmt服务,涉及到的服务有:nginx、mysql、tomcat
2、具体配置:(前提:先停掉然后之前运行的容器)
1)先创建三个nginx容器
# 端⼝不能映射80
[root@docker ~]# docker run -itd -v /root/pes/web/src/dist/:/usr/share/nginx/htm l/ nginx:latest
# 现在在远程是⽆法访问nginx服务,⽽且现在也不希望外部 直接访问nginx,希望创建nginx服务的集群,这个集群被 haproxy代理,创建三个nginx容器,创建⼀个haproxy服 务,⽽且nginx容器还需要指定名称,web0 web1 web2因为 如果没有名称,那么容器就⽆法被haproxy --link
[root@docker ~]# docker run -itd --name=web0 -v /root/project_exam_system/web/dist/:/usr/share/nginx/html nginx:latest
83f463c242e492dbf2298fc04d1555b2d2eead5288c31a87737138f3beb48e30
[root@docker ~]# docker run -itd --name=web1 -v /root/project_exam_system/web/dist/:/usr/share/nginx/html nginx:latest
2f40af73a44c6b251a5be480a49c8c2b09af1f7bc67346b44f5a733dd6485a6d
[root@docker ~]# docker run -itd --name=web2 -v /root/project_exam_system/web/dist/:/usr/share/nginx/html nginx:latest
457b47245dfff34dbf6dee787152e144087fbf18437eddfabc5fdc22735004ac
2) 启动haproxy容器 hap0
[root@docker ~]# docker pull haproxy //拉取haproxy镜像
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
java v0 46529fd5a4b2 2 days ago 774MB
nginx latest 5ef79149e0ec 2 weeks ago 188MB
haproxy latest 4e5bebb0fd91 7 weeks ago 103MB
mysql 5.7.44 5107333e08a8 8 months ago 501MB
centos latest 5d0da3dc9764 2 years ago 23MB
[root@docker ~]#yum -y install haproxy[root@docker ~]#docker run -itd -p5000:5000 haproxy:latest /bin/bash //创建haproxy容器
[root@docker ~]#vim /etc/haproxy/haproxy.cfg //编辑配置文件
global
daemon
# nbproc 1
# pidfile /var/run/haproxy.pid
# 工作目录
# chroot /usr/local/etc/haproxydefaults
log 127.0.0.1 local0 err #[err warning info debug]
mode http #默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
retries 2 #两次连接失败就认为是服务器不可用,也可以通过后面设置