Dockerfile制作镜像
dockerfile制作haproxy镜像
目录结构
[root@localhost haproxy]# tree
.
├── Dockerfile
└── files
├── haproxy-2.4.0.tar.gz
├── haproxy.cfg
├── haproxy.sh
├── run_haproxy.sh
└── sysctl.conf
Dockerfile文件
[root@localhost haproxy]# cat Dockerfile
FROM centos
LABEL MAINTAINER "yyy 123@com"
ENV version 2.4.0
WORKDIR /usr/local
ADD files/haproxy-${version}.tar.gz /usr/local
ADD files/haproxy.sh /usr/local
ADD files/haproxy.cfg /etc/haproxy/
ADD files/run_haproxy.sh /usr/local
ADD files/sysctl.conf /etc/
RUN ["/bin/bash","-c","/usr/local/haproxy.sh"]
EXPOSE 80
CMD ["/usr/local/run_haproxy.sh"]
files目录文件
[root@localhost files]# tree
.
├── haproxy-2.4.0.tar.gz
├── haproxy.cfg
├── haproxy.sh
├── run_haproxy.sh
└── sysctl.conf
[root@localhost haproxy]# cat files/haproxy.sh
#!/bin/bash
rm -rf /etc/yum.repos.d/*
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-$(awk -F'"' 'NR==2{print $2}' /etc/os-release).repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
yum -y install make gcc pcre-devel bzip2-devel openssl-devel systemd-devel
useradd -r -M -s /sbin/nologin haproxy
cd /usr/local
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
cp haproxy /usr/sbin/
[root@localhost files]# chmod +x haproxy.sh
haproxy.cfg文件