拉取alpine系统镜像

[root@localhost ~]# docker pull alpine
Using default tag: latest
latest: Pulling from library/alpine
Digest: sha256:21a3deaa0d32a8057914f36584b5288d2e5ecc984380bc0118285c70fa8c9300
Status: Image is up to date for alpine:latest
docker.io/library/alpine:latest
[root@localhost docker]# tree haproxy/
haproxy/
├── conf
│   └── RSS
├── Dockerfile
└── files├── entrypoint.sh├── haproxy-2.4.9.tar.gz├── haproxy.cfg├── install.sh

编写dockerfile

[root@localhost docker]# vim haproxy/Dockerfile
FROM alpineLABEL MAINTAINER='neawalke 123456789@qq.com'ENV version 2.4.9
ENV PATH /usr/local/harpoxy/sbin:$PATHADD files/haproxy-${version}.tar.gz /tmp/
ADD files/install.sh /tmp/
COPY files/entrypoint.sh /RUN /tmp/install.shEXPOSE 80 8189
ENTRYPOINT ["/entrypoint.sh"]
~                               

安装脚本

[root@localhost docker]# cat haproxy/files/install.sh
#!/bin/shsed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/' /etc/apk/repositories
apk update
adduser -S -H -s /sbin/nologin haproxy
addgroup haproxy
apk add --no-cache -U make gcc pcre-dev bzip2-dev openssl-dev elogind-dev libc-dev dahdi-tools dahdi-tools-dev libexecinfo libexecinfo-dev ncurses-dev zlib-dev zlib
cd /tmp/haproxy-${version}
make TARGET=linux-musl USE_OPENSSL=1 USE_ZLIB=1 USE_PCRE=1
make install PREFIX=/usr/local/haproxy
apk del gcc make
mkdir /usr/local/haproxy/conf
rm -rf  /tmp/install.sh

启动脚本

[root@localhost ~]# vim /docker/haproxy/files/entrypoint.sh
#!/bin/shcat > /usr/local/haproxy/conf/haproxy.cfg <<EOF
#--------------全局配置----------------
globallog 127.0.0.1 local0  info#log loghost local0 infomaxconn 20480
#chroot /usr/local/haproxypidfile /var/run/haproxy.pid#maxconn 4000user haproxygroup haproxydaemon
#---------------------------------------------------------------------
#common defaults that all the 'listen' and 'backend' sections will
#use if not designated in their block
#---------------------------------------------------------------------
defaultsmode httplog globaloption dontlognulloption httpcloseoption httplog#option forwardforoption redispatchbalance roundrobintimeout connect 10stimeout client 10stimeout server 10stimeout check 10smaxconn 60000retries 3
#--------------统计页面配置------------------
listen admin_statsbind 0.0.0.0:8189stats enablemode httplog globalstats uri /haproxy_statsstats realm Haproxy\ Statisticsstats auth admin:admin#stats hide-versionstats admin if TRUEstats refresh 30s
#---------------web设置-----------------------
listen webclusterbind 0.0.0.0:80mode http#option httpchk GET /index.htmllog globalmaxconn 3000balance roundrobincookie SESSION_COOKIE insert indirect nocache
EOF
count=1
for rs in $(cat /tmp/RSS);do
cat >> /usr/local/haproxy/conf/haproxy.cfg << EOFserver web$count $rs:80 check inter 2000 fall 5
EOF
let count++
done
/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/conf/haproxy.cfg -db
~
# 构建镜像
[root@localhost docker]# docker build -t haproxy:v5.0 haproxy#启动页面容器
[root@localhost ~]# docker run -d --name web1 neawalke/httpd:latest
6a81a9963d31c1cecd4cf715985b3b3da1e596a41195edf854ce108c92cf6a4e
[root@localhost ~]# docker run -d --name web2 neawalke/nginx:v2.0
6c698a936d98a19dbd004181b51e25a03eb10f3066091a1c8adf922a77e99725[root@localhost ~]# cat /docker/haproxy/conf/RSS
172.17.0.2
172.17.0.3#启动容器
[root@localhost docker]# docker run -it --name test1 -p 80:80 -v /docker/haproxy/conf:/tmp haproxy:v5.0


构建haproxy镜像(基于alpine系统)相关推荐

  1. Docker 镜像,基于 alpine 系统的时区配置

    在 Java 开发中使用 Docker 镜像时,由于 alpine 提供的 linux 环境的镜像特别的小,只有 5M 左右,集成 openjdk 后的大小也在 100M 以内,因此应用非常广泛,在 ...

  2. alpine linux时区,Docker 镜像,基于 alpine 系统的时区配置

    在 Java 开发中使用 Docker 镜像时,由于 alpine 提供的 linux 环境的镜像特别的小,只有 5M 左右,集成 openjdk 后的大小也在 100M 以内,因此应用非常广泛,在 ...

  3. docker制作nginx+nginx-module-vts镜像基于alpine镜像

    本文参考配置https://github.com/Parli/nginx-vts-docker 稍作修改 搜索到的docker镜像nginx版本比较低,为1.11,1.13,这里用的nginx版本为1 ...

  4. dockerfile以alpine为基础镜像构建nginx镜像

    dockerfile以alpine为基础镜像构建nginx镜像 文章目录 dockerfile以alpine为基础镜像构建nginx镜像 1:alpine 2:alpine软件包管理命令 apk ad ...

  5. 基于nerdctl + buildkitd构建容器镜像,运行tomcat后端服务和nginx前端服务

    目录 简介: 一.部署buildkitd 1.下载二进制包 2. 解压二进制包,并移到全局变量中 3.创建socket文件,service文件 4.启动服务 二.使用nerdctl命令测试镜像构建 1 ...

  6. 构建docker镜像时ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: network error

    1.先试试这个 构建docker镜像时fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz超时_yan ...

  7. 基于Web SCADA平台构建数字化车间的MES系统

    数字化车间的MES系统与偏管理的信息化系统(如ERP.CRM.SRM等)最大的区别在于数据的"实时性",以传统的管理为主线的信息化系统因无法及时的将数据录入进系统,使得管理信息化中 ...

  8. 城市道路路面病害检测识别分析,以RDD赛事捷克-印度-日本集成融合数据集为例,基于yolov5m模型开发构建城市道路病害检测识别系统

    城市道路病害检测是最近比较热门的一个任务领域,核心就是迁移深度学习目前已有的研究成果来实现实时城市道路路面病害的检测识别分析,在我之前的很多博文中都有做过类似桥梁.大坝.基建.隧道等水泥设施裂缝裂痕等 ...

  9. libreOffice构建docker镜像,并基于此运行项目

    一.libreOffice构建docker镜像,并启动项目 安装包准备 LibreOffice(v7.4.2): LibreOffice_7.4.2_Linux_x86-64_rpm.tar.gz L ...

最新文章

  1. 理解卷积神经网络中的自注意力机制
  2. BADI EXIT等增强报W警告类消息
  3. java 反射field_Java基础--反射之Field
  4. HDU 6096 AC自动机
  5. qq编辑资料html,腾讯限置qq日记代码HTML在线编辑器: http://www.wyzxsx.com/editor.asp
  6. 【C++】使用setprecision控制输出流显示浮点数的有效数字个数
  7. 如何将 MacBook 的外置屏幕设置为主屏幕
  8. 谷粒学院项目总结(持续更新)
  9. 强迫症才需要看,新装电脑 Win10 硬盘整数分区
  10. struts2 拦截器
  11. php 卡号算法,验证信用卡卡号代码 Luhn算法
  12. 计算机网络路由器作用是什么,路由器的作用是什么? 猫和路由器的区别分析【图文】...
  13. 罗永浩、戴威的C位消亡史
  14. 图神经网络七日打卡营 Day 01 什么是非欧空间
  15. Mac清空的废纸篓文件怎么恢复
  16. fastqc检验时不能执行java_安装Fastqc软件遇到的坑
  17. 脉冲成形matlab代码,[转]MATLAB信号处理仿真-基带脉冲成形的数字滤波器
  18. %@ Page% page指令属性
  19. 从西安到深圳——一路向南
  20. MPD大会上使用的PPT分享

热门文章

  1. 霸气女创始人刘楠:我挖了迪士尼高管,2年把公司干到100亿!
  2. 刚刚,2019年中国信息通信服务交流研讨会盛大召开!
  3. 第三章习题2存款利息的计算
  4. 熊猫儿 | 燕赵风云,风云燕赵
  5. exception java .text_java.text.ParseException
  6. 触觉马达DRV2605
  7. 【论文阅读+测试】Real-Esrgan超分辨率算法
  8. 项目开发团队分配管理软件
  9. RabbitMQ环境的搭建和报错
  10. 关于双网卡PVE:openwrt(LEDE) + win10直通核显+ DSM918+ 实现HDMI与声卡直通HTPC的解决方案!!