午夜亚洲av中文字字幕乱码,一级日本大片免费观看,欧美牲交a欧美牲交一级aa,亚州熟妇视频无码

使用Docker Compose 實(shí)現(xiàn)nginx負(fù)載均衡

發(fā)布時(shí)間:2024-09-26
以docker的網(wǎng)絡(luò)管理,容器的ip設(shè)置為基礎(chǔ)知識(shí)實(shí)現(xiàn)nginx負(fù)載均衡
查看所有docker網(wǎng)絡(luò)
docker network ls /* network id name driver scope b832b168ca9a bridge bridge local 373be82d3a6a composetest_default bridge local a360425082c4 host host local 154f600f0e90 none null local */ // composetest_default 是上一篇介紹compose時(shí),docker-compose.yml文件所在的目錄名, // 所以,用docker-compose創(chuàng)建的容器會(huì)默認(rèn)創(chuàng)建一個(gè)以目錄名為網(wǎng)絡(luò)名的網(wǎng)絡(luò),并且是dridge(橋接)類型 指定容器ip地址
官網(wǎng)文檔地址:https://docs.docker.com/compose/compose-file/#ipv4_address-ipv6_address
繼續(xù)編寫上一篇《12.使用docker compose容器編排工具》文章中的docker-compose.yml
version: 3 services: web1: container_name: web1 image: centos:httpd ports: - 8080:80 privileged: true volumes: - /app/www/web1/:/var/www/html/ command: ['/usr/sbin/init'] networks: nginx-lsb: ipv4_address: 192.169.0.3 web2: container_name: web2 image: centos:httpd ports: - 8081:80 privileged: true volumes: - /app/www/web2/:/var/www/html/ command: ['/usr/sbin/init'] networks: nginx-lsb: ipv4_address: 192.169.0.2 networks: nginx-lsb: driver: bridge ipam: config: - subnet: 192.169.0.0/16 使用docker-compose啟動(dòng)容器
docker-compose up -d查看容器是否啟動(dòng),并確認(rèn)是否創(chuàng)建了網(wǎng)絡(luò) nginx-lsb
// 可以查看當(dāng)前docker-compose.yml配置的容器組里的容器狀態(tài) docker-compose ps docker network ls /* network id name driver scope b832b168ca9a bridge bridge local 373be82d3a6a composetest_default bridge local de6f5b8df1c8 composetest_nginx-lsb bridge local a360425082c4 host host local 154f600f0e90 none null local */ // 創(chuàng)建了nginx-lsb網(wǎng)絡(luò),命名是容器組項(xiàng)目的 文件名開頭_網(wǎng)絡(luò)名 查看網(wǎng)絡(luò) nginx-lsb的詳情
docker network inspect composetest_nginx-lsb // 詳情里面可以看到使用這個(gè)網(wǎng)絡(luò)的每個(gè)容器的ip 如: /* ... containers: { 039aa860ef04f20a7566fdc943fb4398a61d2ad6dd3e373b17c86ac778af89e3: { name: web2, endpointid: 1bc206661179e65999015f132c2889d3d4365b8d42b8a89cf9c260016fedd5ee, macaddress: 02:42:c0:a9:00:02, ipv4address: 192.169.0.2/16, ipv6address: }, 437ad7a07da8e46c0abaf845c4b08425338009fbe972bde69478cf47c75c315b: { name: web1, endpointid: 5a36e602a5364ee9ad06e9816d09e3966d56ebf06b9394ebc25b8bcee9546607, macaddress: 02:42:c0:a9:00:03, ipv4address: 192.169.0.3/16, ipv6address: } }, ... */ 使用 env_file環(huán)境文件:
簡(jiǎn)單可以理解為:在docker-compose.yml中定義變量,引用在外部.env文件中進(jìn)行變量定義
官方文檔地址:https://docs.docker.com/compose/compose-file/#env_file
// 還是在composetest目錄中定義個(gè) .env文件,用來(lái)存放變量 web1_addr=192.169.0.2 web2_addr=192.169.0.3 // 修改docker-compose.yml文件,加入變量定義 version: 3 services: web1: container_name: web1 image: centos:httpd ports: - 8080:80 privileged: true volumes: - /app/www/web1/:/var/www/html/ command: ['/usr/sbin/init'] networks: nginx-lsb: ipv4_address: ${web1_addr} web2: container_name: web2 image: centos:httpd ports: - 8081:80 privileged: true volumes: - /app/www/web2/:/var/www/html/ command: ['/usr/sbin/init'] networks: nginx-lsb: ipv4_address: ${web2_addr} networks: nginx-lsb: driver: bridge ipam: config: - subnet: 192.169.0.0/16 重新啟動(dòng)composetest項(xiàng)目,并查看網(wǎng)絡(luò)詳情,確認(rèn)容器ip是否設(shè)置成功
// 重新啟動(dòng)composetest項(xiàng)目 docker-compose up -d // 查看網(wǎng)絡(luò)詳情 docker network inspect composetest_nginx-lsb 在composetest項(xiàng)目中添加一臺(tái)nginx服務(wù)器作為負(fù)載均衡服務(wù)器
// 在.env文件里添加一個(gè)變量 nginx_lsb web1_addr=192.169.0.2 web2_addr=192.169.0.3 nginx_lsb=192.169.0.100 // 修改docker-compose.yml文件,加入變量定義 version: 3 services: nginx-lsb: container_name: nginx-lsb image: centos:nginx ports: - 8000:80 privileged: true volumes: - /app/nginx/nginx.conf:/etc/nginx/nginx.conf networks: nginx-lsb: ipv4_address: ${nginx_lsb} web1: container_name: web1 image: centos:httpd ports: - 8080:80 privileged: true volumes: - /app/www/web1/:/var/www/html/ command: ['/usr/sbin/init'] networks: nginx-lsb: ipv4_address: ${web1_addr} web2: container_name: web2 image: centos:httpd ports: - 8081:80 privileged: true volumes: - /app/www/web2/:/var/www/html/ command: ['/usr/sbin/init'] networks: nginx-lsb: ipv4_address: ${web2_addr} networks: nginx-lsb: driver: bridge ipam: config: - subnet: 192.169.0.0/16 // 重新啟動(dòng)composetest項(xiàng)目 docker-compose up -d 修改nginx.conf配置文件,配置負(fù)載均衡
upstream mydocker { server 192.169.0.2; server 192.169.0.3; } server { listen 80; server_name mydocker; location / { proxy_set_header host $host; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_buffering off; proxy_pass http://mydocker; } } 重新啟動(dòng)nginx-lsb,加載配置文件
docker-composer restart nginx-lsb 訪問(wèn) http://服務(wù)器ip地址:8000,測(cè)試服務(wù)器負(fù)載均衡!
上一個(gè):零代碼開發(fā)!聯(lián)合亞特聯(lián)推出產(chǎn)品智能化解決方案
下一個(gè):楊樹柳天蛾防治

超聲波流量計(jì)和污水計(jì)量表廠家在不同的環(huán)境下各有優(yōu)勢(shì)
電腦硬盤哪種好用又便宜
固態(tài)硬盤識(shí)別不了開不了機(jī)
2017年水污染治理產(chǎn)業(yè)發(fā)展淺析及未來(lái)展望
三星s4怎么設(shè)置網(wǎng)速,三星s4手機(jī)怎么顯示網(wǎng)速
普洱茶和蒼山雪綠的區(qū)別
英國(guó)west溫度控制器ks98
鹽霧測(cè)試設(shè)備的發(fā)展趨勢(shì)及操作方法
amd核顯排行(amd核顯強(qiáng)的cpu是哪款)
智能電子多功能身高體重秤/超聲波醫(yī)用精密測(cè)量?jī)x