日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

docker-compose容器互相連接的實現_docker

作者:Lust4Life ? 更新時間: 2022-05-09 編程語言

一些示例未整理

haproxy 與nginx 容器連接

## 服務的compose 編寫
mkdir /mnt/compose
vim docker-compose.yml
web1:?
? ? ? ? image: nginx
? ? ? ? expose:?
? ? ? ? ? ? ? ? - 80
? ? ? ? volumes:?
? ? ? ? ? ? ? ? - ./web1:/usr/share/nginx/html

web2:
? ? ? ? image: nginx
? ? ? ? expose:
? ? ? ? ? ? ? ? - 80
? ? ? ? volumes:
? ? ? ? ? ? ? ? - ./web2:/usr/share/nginx/html
haproxy:
? ? ? ? image: haproxy
? ? ? ? volumes:
? ? ? ? ? ? ? ? - ./haproxy/haproxy.cfg:/usr/local/etc/haproxy/haproxy.cfg:ro
? ? ? ? links:
? ? ? ? ? ? ? ? - web1
? ? ? ? ? ? ? ? - web2
? ? ? ? ports:?
? ? ? ? ? ? ? ? - "80:80"
? ? ? ? expose:
? ? ? ? ? ? ? ? - 80

##haproxy 配置文件
[root@server1 compose]# mkdir web1
[root@server1 compose]# mkdir web2
[root@server1 compose]# echo web1 > web1/index.html
[root@server1 compose]# echo web2 > web2/index.html
[root@server1 compose]# mkdir haproxy
[root@server1 compose]# ls
docker-compose.yml ?haproxy ?web1 ?web2
[root@server1 compose]# vim haproxy/haproxy.cfg?
[root@server1 compose]# cat haproxy/haproxy.cfg?
global
?? ?log 127.0.0.1 local0
?? ?log 127.0.0.1 local1 ?notice
defaults
?? ?log global
?? ?mode http
?? ?option httplog
?? ?option dontlognull
?? ?timeout connect 5000ms
?? ?timeout client 5000ms
?? ?timeout server 5000ms
?? ?stats uri /status
frontend balancer
?? ?bind 0.0.0.0:80
?? ?default backend web_backends
backend web backends
?? ?balance roundrobin
?? ?server server1 web1:80 check
?? ?server server2 web2:80 check

關鍵點是如何配置容器如何互相連接
1,首先在compose 文件中指定服務名稱.然后配置links ??
2,在配置文件中指定服務的名稱

docker-compose 配置文件一些知識#

network_mode:設置網絡模式
network_mode: "bridge"
network_mode: "host"
network_mode: "none"
network_mode: "service:[service name]"
network_mode: "container:[container name/id]"

links:將指定容器連接到當前連接,可以設置別名,避免ip方式導致的容器重啟動態改變的無法連接情況

links: ? ?# 指定服務名稱:別名?
? ? - docker-compose-eureka-server:compose-eureka


更新容器:
當服務的配置發生更改時,可使用 docker-compose up 命令更新配置
此時,Compose 會刪除舊容器并創建新容器,新容器會以不同的 IP 地址加入網絡,名稱保持不變,任何指向舊容起的連接都會被關閉,重新找到新容器并連接上去

links

服務之間可以使用服務名稱相互訪問,links 允許定義一個別名,從而使用該別名訪問其它服務

version: '2'
services:
? ? web:
? ? ? ? build: .
? ? ? ? links:
? ? ? ? ? ? - "db:database"
? ? db:
? ? ? ? image: postgres

參考文章:

https://www.cnblogs.com/jackadam/p/9771718.html

https://itbilu.com/linux/docker/Ey5dT-i2G.html

原文鏈接:https://www.cnblogs.com/g2thend/p/11762173.html

欄目分類
最近更新