docker网络和haproxy

一、新增一个名称为bridge2的bridge模式网络,网段为172.22.0.0/16,创建一个容器用bridge2网络运行,要求能用宿主机网络访问。

创建自定义网络,创建后使用ip a 可以查看

 docker network  create -d bridge --subnet 172.22.0.0/16 --gateway 172.22.0.1  bridge2

在这里插入图片描述

** 查看创建的网络,使用创建的网络运行wordpress容器**

docker network inspect  bridge2
docker run -itd -p 2222:80  --network bridge2 --name wordpress2 -v /data/wordpress2:/var/www/html    1730fea0ae8e 

在这里插入图片描述

查看容器ip,宿主机可以ping通

docker inspect c2f57e874301 |grep -i ipaddr
在这里插入图片描述
在这里插入图片描述

** 运行msyql容器,使用wordpress容器网络**

 docker run --network container:c2f57e874301 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=wordpress -e MYSQL_USER=wordpress -e MYSQL_PASSWORD=123456 --name mysql2 -d -v /data/mysql:/var/lib/mysql --restart=always mysql:8.0.29-oracle

浏览器访问安装成功

在这里插入图片描述
在这里插入图片描述

二、创建一个harbor镜像仓库,把镜像上传到harbor仓库并能从里面下载镜像创建容器。

1.上传harbor包解压到/apps/目录,修改harbor.yml,执行安装./install.sh 脚本

在这里插入图片描述
./install.sh

2.添加host解析,浏览器访问harbor,并创建一个项目

在这里插入图片描述

3.上传镜像

修改/etc/docker/daemon.json文件,添加insecure-registries选项

cat /etc/docker/daemon.json 
{
"registry-mirrors":["https://2abfrd78.mirror.aliyuncs.com"],
"insecure-registries": ["luohw.harbor.org"]
}

harbor没有配置https,登录harbor会提示Login did not succeed, error: Error response from daemon: Get “https://luohw.harbor.org/v2/”: dial tcp 192.168.1.153:443: connect: connection refused
在/etc/docker/daemon.json 配置insecure-registries 即可

配置hosts,登录harbor

vi /etc/hosts
192.168.1.153 luohw.harbor.org

在这里插入图片描述
修改镜像tag,并上传

docker tag eb4a57159180  luohw.harbor.org/images/nginx:latest
docker push  luohw.harbor.org/images/nginx:latest

在这里插入图片描述
查看镜像上传成功
在这里插入图片描述

4.下载镜像

在其他机器上配置hosts和insecure-registries,下载镜像并运行容器

docker login  luohw.harbor.org
docker pull luohw.harbor.org/images/nginx:latest
docker images
docker run -itd luohw.harbor.org/images/nginx:latest bash 

在这里插入图片描述

三、用haproxy实现两个web服务器的负载均衡。

1.安装proxy

apt install haproxy -y

2. 配置web服务器和haproxy

配置二个web网站,分别是192.168.1.152:89和192.168.1.80:80 ,修改默认页面,修改haproxy配置文件并重启haproxy

listen stats
    mode http
    bind 0.0.0.0:9990
    stats enable
    log global
    stats uri /haproxy-status
    stats auth admin:123456
    stats admin if TRUE

listen  web
        bind  192.168.74.128:88
        mode http
        server web1     192.168.1.152:89  check inter 3000 fall 3 rise 5;
        server web2     192.168.1.80:80 check inter 3000 fall 3 rise 5;

listen  web2
        bind  192.168.1.153:88
        mode http
        server web1     192.168.1.152:89  check inter 3000 fall 3 rise 5;
        server web2     192.168.1.80:80   check inter 3000 fall 3 rise 5;
listen  web10
        log global
        option httplog
        capture request header Host len 256
        capture request header User-Agent len 512
        capture request header Referer len 15
        capture request header X-Forwarded-For len 15
        bind  172.22.77.50:5555
        mode http
        #balance source 
        balance url_param key   #负载均衡的ne'xi
        option forwardfor  header X-client
        #http-request del-header user-agent
        #http-request add-header user-agent test-browser

        compression algo gzip deflate   #启用压缩机制
        compression type text/html text/css text/plain       #压缩哪些类型文件
        hash-type consistent #一致性hash
        #cookie  n80-cookie  insert indirect nocache 
        option httpchk HEAD /index.html   HTTP/1.1\nHost:\ 101.201.116.250  #七层健康检测
        #acl 配置acl
        acl bad_agent hdr_sub(User-Agent) -i curl   #定义名称为bad_agent head的uri模糊匹配
        acl danger_src src 101.201.116.250     #来源是这个ip
        http-request deny if bad_agent  danger_src #满足上面二个任意一个acl,拒绝

        server web1    172.22.77.50:5551  check  weight 1 inter 3000 fall 3 rise 5;
        server web2    172.22.77.50:5552  check  weight 2 inter 3000 fall 3 rise 5;

3.验证

通过curl 可以访问到到不同的网站
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值