• 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

  • 相关阅读:
    short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
    SpringMVC常用的注解有哪些?
    Spring支持的ORM?
    什么是代理?
    一对一、一对多的关联查询 ?
    iHTML 的 form 提交之前如何验证数值文本框的内容全部为数字?
    解释JDBC抽象和DAO模块?
    Bean 工厂和 Application contexts 有什么区别?
    GitHub的注册
    HTML的学习
  • 原文地址:https://www.cnblogs.com/g2thend/p/11762173.html
Copyright © 2020-2023  润新知