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容器互相连接内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
赞 (0)