docker-compose容器互相連接


一些示例未整理

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM