Dockerfile部署haproxy
dockerfile
//目录结构
[root@192 ~]# tree haproxy/
haproxy/
├── Dockerfile
├── files
│ ├── haproxy-2.4.0.tar.gz
│ └── install.sh
└── start.sh
//dockerfile
[root@192 haproxy]# cat Dockerfile
FROM centos
LABEL MAINTAINER='wawa 1@2.com'
ENV PATH /usr/local/haproxy/sbin:$PATH
ENV version 2.4.0
COPY files /usr/src/
COPY start.sh /start.sh
RUN ["/bin/bash","-c","/usr/src/install.sh"]
EXPOSE 80 8189
WORKDIR /usr/local/haproxy
CMD /start.sh $rs1 $rs2
//安装脚本
[root@192 files]# cat install.sh
yum -y install make gcc pcre-devel bzip2-devel openssl-devel systemd-devel
useradd -r -M -s /sbin/nologin haproxy
cd /usr/src
tar xf haproxy-${version}.tar.gz
cd haproxy-$version
make clean
make -j $(grep 'processor' /proc/cpuinfo |wc -l) \
TARGET=linux-glibc \
USE_OPENSSL=1 \
USE_ZLIB=1 \
USE_PCRE=1 \
USE_SYSTEMD=1 && \
make install PREFIX=/usr/local/haproxy && \
echo 'net.ipv4.ip_nonlocal_bind = 1' >> /etc/sysctl.conf
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
mkdir /etc/haproxy
yum -y remove gcc make
rm -rf /usr/src/* /var/cache/*
//启动脚本
[root@192 haproxy]# cat start.sh
#!/bin/bash
cat >> /etc/haproxy/haproxy.cfg << EOF
#--------------全局配置----------------
global
log 127.0.0.1 local0 info
#log loghost local0 info
maxc