Docker compose实现容器之间的交互

本文介绍了如何利用Docker-compose来控制和管理不同的容器,包括获取脚本、导入镜像、编写配置文件、修改Nginx默认发布页、启动容器以及测试容器间的交互。通过docker-compose up -d命令启动容器,并在浏览器中验证宿主机IP地址显示的修改后Nginx页面,刷新页面可观察到负载均衡效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

利用Docker-compose控制不同的容器

1.获取脚本
[root@server1 ~]# cd /usr/local/bin/
[root@server1 bin]# ls
docker-compose  docker-compose-Linux-x86_64-1.22.0
2.导入镜像
docker load -i haproxy.tar
docker load -i nginx.tar
[root@server1 ~]# docker images nginx
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              e548f1a579cf        15 months ago       109MB
[root@server1 ~]# docker images haproxy
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
haproxy             latest              fbd1f55f79b3        3 years ago         139MB
[root@server1 ~]#
3.编写 文件
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
4.修改默认发布页内容
[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
5.启动

docker-compose up -d
在这里插入图片描述

6.测试
在浏览器上输入宿主机ip地址,可以看到我们修改的nginx发布页,刷新页面可以负载均衡

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值