####第一步:导入haproxy镜像
复制代码
1
2
3
4
5
6
7
8[root@foundation23 docker]# docker load -i haproxy.tar 917c0fc99b35: Loading layer 130.9 MB/130.9 MB 5f70bf18a086: Loading layer 1.024 kB/1.024 kB c205bb11f213: Loading layer 4.684 MB/4.684 MB ffef890bdf7b: Loading layer 9.549 MB/9.549 MB 3ec368642ee3: Loading layer 2.048 kB/2.048 kB Loaded image: haproxy:latest
####第二步:安装docker-compose命令
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13[root@foundation23 docker]# cd /usr/local/bin/ [root@foundation23 bin]# ls rht-vmctl rht-vmicons rht-vmsetkeyboard [root@foundation23 bin]# ls docker-compose-Linux-x86_64-1.22.0 rht-vmicons rht-vmctl rht-vmsetkeyboard [root@foundation23 bin]# chmod +x docker-compose-Linux-x86_64-1.22.0 [root@foundation23 bin]# ln -s docker-compose-Linux-x86_64-1.22.0 docker-compose
####配置haproxy的文件,实现负载均衡
这里的rhel7:v1是之前创建的镜像,具体的查看创建apache镜像博客
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38[root@foundation23 bin]# cd /tmp/docker/ [root@foundation23 docker]# mkdir compose [root@foundation23 docker]# cd compose/ [root@foundation23 compose]# docker inspect haproxy [ "Cmd": [ "haproxy", "-f", "/usr/local/etc/haproxy/haproxy.cfg" [root@foundation23 compose]# vim docker-compose.yml apache: image: rhel7:v1 expose: - 80 volumes: - ./web:/var/www/html nginx: image: nginx expose: - 80 haproxy: image: haproxy volumes: - ./haproxy:/usr/local/etc/haproxy links: - apache - nginx ports: - "8080:80" expose: - 80 [root@foundation23 compose]# cd .. [root@foundation23 docker]# cp -r web/ compose/ [root@foundation23 docker]# cd compose/ [root@foundation23 compose]# ls docker-compose.yml web
####编辑haproxy的配置文件
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19[root@foundation23 compose]# mkdir haproxy [root@foundation23 compose]# cd haproxy/ [root@foundation23 haproxy]# vim haproxy.cfg [root@foundation23 haproxy]# cd .. [root@foundation23 compose]# docker-compose -v docker-compose version 1.22.0, build f46880fe [root@foundation23 compose]# docker-compose up Creating compose_nginx_1 ... done Creating compose_apache_1 ... done Creating compose_haproxy_1 ... done Attaching to compose_nginx_1, compose_apache_1, compose_haproxy_1 apache_1 | AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.4. Set the 'ServerName' directive globally to suppress this message haproxy_1 | <7>haproxy-systemd-wrapper: executing /usr/local/sbin/haproxy -p /run/haproxy.pid -f /usr/local/etc/haproxy/haproxy.cfg -Ds nginx_1 | 2018/08/22 03:49:51 [error] 7#7: *1 open() "/usr/
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60[root@foundation23 compose]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 90b268360c70 haproxy "/docker-entrypoin..." 2 minutes ago Exited (0) 15 seconds ago compose_haproxy_1 ecbbfe401523 rhel7:v1 "/usr/sbin/httpd -..." 2 minutes ago Exited (0) 15 seconds ago compose_apache_1 e56353584938 nginx "nginx -g 'daemon ..." 2 minutes ago Exited (0) 15 seconds ago compose_nginx_1 [root@foundation23 compose]# docker-compose start Starting apache ... done Starting nginx ... done Starting haproxy ... done [root@foundation23 compose]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 90b268360c70 haproxy "/docker-entrypoin..." 3 minutes ago Up 4 seconds 0.0.0.0:8080->80/tcp compose_haproxy_1 ecbbfe401523 rhel7:v1 "/usr/sbin/httpd -..." 3 minutes ago Up 4 seconds 80/tcp compose_apache_1 e56353584938 nginx "nginx -g 'daemon ..." 3 minutes ago Up 4 s
###测试:
浏览器输入172.25.254.23:8080
这里是将web映射到apache的默认发布目录,呈现出来的是web目录里面的内容
监控界面
最后
以上就是复杂帽子最近收集整理的关于docker基于haproxy实现容器(nginx、apache)的负载均衡的全部内容,更多相关docker基于haproxy实现容器(nginx、apache)内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复