Docker镜像制作:haproxy

# cd /opt/dockerfile/web/
# ls
apache  jdk  nginx  tomcat
# mkdir haproxy
# cd haproxy/
添加配置文件haproxy.cfg
修改配置文件haproxy.cfg
# vim haproxy.cfg
global
maxconn 100000
chroot /usr/local/haproxy
#stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin
uid 99
gid 99
daemon
#nbproc 2
#cpu-map 1 0
#cpu-map 2 1
pidfile /usr/local/haproxy/run/haproxy.pid
log 127.0.0.1 local3 info

defaults
option http-keep-alive
option  forwardfor
maxconn 100000
mode http
timeout connect 300000ms
timeout client  300000ms
timeout server  300000ms

listen stats
mode http
bind 0.0.0.0:9999
stats enable
log global
stats uri     /haproxy-status
stats auth    haadmin:123456

listen  web_port
bind 0.0.0.0:80
mode http
log global
server web1  192.168.7.102:8801  check inter 3000 fall 2 rise 5
server web2  192.168.7.103:8801  check inter 3000 fall 2 rise 5

 

编写启动脚本
# vim run_haproxy.sh
#!/bin/bash

haproxy -f /etc/haproxy/haproxy.cfg

tail -f /etc/hosts
添加执行权限
# chmod a+x run_haproxy.sh
编辑dockerfile
# vim Dockerfile
FROM centos-base:v1

MAINTAINER zhangshijie  2973707860@qq.com

ADD haproxy-1.8.17.tar.gz /usr/local/src

RUN yum install systemd-devel -y && cd /usr/local/src/haproxy-1.8.17 && make  ARCH=x86_64 TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_SYSTEMD=1  USE_CPU_AFFINITY=1  PREFIX=/usr/local/haproxy && make install PREFIX=/usr/local/haproxy && cp haproxy  /usr/sbin/ && mkdir /usr/local/haproxy/run

ADD haproxy.cfg /etc/haproxy/haproxy.cfg

ADD run_haproxy.sh /usr/bin/run_haproxy.sh

#EXPOSE 80 9999

CMD ["/usr/bin/run_haproxy.sh"]

# vim build-command.sh

#!/bin/bash

docker build -t centos-haproxy:v1.8.17 .
# bash build-command.sh
进入容器查看haproxy是否安装成功
# docker run -it centos-haproxy:v1.8.17 bash
[root@e6246d117927 /]# /usr/local/haproxy/sbin/haproxy -v
HA-Proxy version 1.8.17 2019/01/08
Copyright 2000-2019 Willy Tarreau <willy@haproxy.org>
运行
# docker run -it -p 80:80 -p 9999:9999 centos-haproxy:v1.8.17
测试

 

posted @ 2020-09-23 12:22  Edward_han  阅读(324)  评论(0编辑  收藏  举报