1. 首页
  2. 技术知识

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

到此这篇关于docker-compose容器互相连接的实现的文章就介绍到这了,更多相关docker-compose容器互相连接内容请搜索共生网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持共生网络!

原创文章,作者:starterknow,如若转载,请注明出处:https://www.starterknow.com/105747.html

联系我们