溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

docker compose容器互相連接的方法

發(fā)布時(shí)間:2022-03-09 16:05:05 來源:億速云 閱讀:692 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了docker compose容器互相連接的方法的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇docker compose容器互相連接的方法文章都會(huì)有所收獲,下面我們一起來看看吧。

haproxy 與nginx 容器連接

## 服務(wù)的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

關(guān)鍵點(diǎn)是如何配置容器如何互相連接
1,首先在compose 文件中指定服務(wù)名稱.然后配置links   
2,在配置文件中指定服務(wù)的名稱

docker-compose 配置文件一些知識(shí)#

network_mode:設(shè)置網(wǎng)絡(luò)模式
network_mode: "bridge"
network_mode: "host"
network_mode: "none"
network_mode: "service:[service name]"
network_mode: "container:[container name/id]"

links:將指定容器連接到當(dāng)前連接,可以設(shè)置別名,避免ip方式導(dǎo)致的容器重啟動(dòng)態(tài)改變的無法連接情況

links:    # 指定服務(wù)名稱:別名 
    - docker-compose-eureka-server:compose-eureka


更新容器:
當(dāng)服務(wù)的配置發(fā)生更改時(shí),可使用 docker-compose up 命令更新配置
此時(shí),Compose 會(huì)刪除舊容器并創(chuàng)建新容器,新容器會(huì)以不同的 IP 地址加入網(wǎng)絡(luò),名稱保持不變,任何指向舊容起的連接都會(huì)被關(guān)閉,重新找到新容器并連接上去

links

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

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

關(guān)于“docker compose容器互相連接的方法”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“docker compose容器互相連接的方法”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI