简单负载均衡的实现
首先在代码里面添加输出服务器ip的代码:
等jenkins自动部署成功后,再额外启动另一个autopublish:latest镜像的容器,命名为autopublish-web3,容器映射到宿主机的端口改为6000
sudo docker run --name autopublish-web3 -d -p 6000:5000 --env ASPNETCORE_ENVIRONMENT=Development autopublish:latest
然后检查localhost:6000能否访问
然后修改nginx的配置:
gedit /etc/nginx/sites-available/default
用下面文本覆盖整个配置文件
server {
listen 6666;
server_name 192.168.199.129;
location / {
proxy_pass http://blance;
}
}
upstream blance{
server localhost:6000 weight=5;
server localhost:5000 weight=5;
}
上面的servername是你的宿主机ip。
这时候,在浏览器上面访问地址192.168.199.129:6666,点击about,会发现ip地址有时候是172.17.0.2,有时候是172.17.0.3
说明负载均衡已经实现了。nginx按照之前配置的权值随机访问两个容器上的网站。