alpine鏡像編譯環境

5 篇文章 0 订阅
2 篇文章 0 订阅

docker原版镜像选择alpine。
選擇測試程序:web服务器选择ihttpd,这是一个极小的web服务器。
由於alpine未集成inet.d,因此選擇一個極小的替代品miniinetd。

編譯環境準備

需要注意的是,alpine使用的c標準庫是Musl-libc,不是glibc(即GNU C Library )。
這裏多說一句,Musl是一個輕量級的C標準庫,此外還有uClibc ,多用於嵌入式系統,此外GNU還推出EGLIBC EGLIBC(Embedded GLIBC EGLIBC)用於輕量級應用。
引用:musl官網。
因此還需要準備一個musl編譯環境,建立Dockerfile

FROM alpine:3.11
RUN echo "http://mirrors.nju.edu.cn/alpine/v3.11/main" > /etc/apk/repositories
RUN echo "http://mirrors.nju.edu.cn/alpine/v3.11/community" >> /etc/apk/repositories
RUN apk update
RUN apk upgrade
RUN apk add git alpine-sdk abuild bison flex texinfo zlib-dev cmake bash curl-dev sqlite-dev libressl-dev glib-dev \
        gstreamer-dev gst-plugins-base-dev sbc-dev bluez-dev portaudio-dev glib-dev sbc-dev

生成鏡像sudo docker build -t "alpine-dev" ./
引用:參考自一篇博客

ihttpd

進入編譯環境docker run -it alpine-dev /bin/bash
获取安装包wget http://i1.dk/download/ihttpd/ihttpd-0.5.tar.gz,解壓編譯。

tar -zxvf ihttpd-0.5.tar.gz
cd ihttpd-0.5
chmod +x ./configure
./configure
make

得到三個文件:ihttpd,ihttpd-cgiwrap,ihttpd.conf.final。

miniinetd

wget http://i1.dk/download/miniinetd/Makefile
wget http://i1.dk/download/miniinetd/README
wget http://i1.dk/download/miniinetd/miniinetd.c
make

得到miniinetd文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值