最小linux系统alpine做基础容器镜像管理

alpine简称高山的 是一款非常适合做k8s基础镜像的linux
1、小巧:基于Musl libc和busybox,和busybox一样小巧,最小的Docker镜像只有5MB;

2、安全:面向安全的轻量发行版;

3、简单:提供APK包管理工具,软件的搜索、安装、删除、升级都非常方便。

4、适合容器使用:由于小巧、功能完备,非常适合作为容器的基础镜像。

更新国内源 Alpine的源文件为:

vi /etc/apk/repositories,
采用国内阿里云的源,文件内容为:
https://mirrors.aliyun.com
alpine 提供了非常好用的apk软件包管理工具,

可以方便地安装、删除、更新软件。

查询openssh相关的软件包
apk search openssh 
安装一个软件包,不需要留下缓存文件
apk add --no-cache xxx 
删除已安装的xxx软件包
apk del xxx

时间同步

apk add --no-cache tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
apk del tzdata

编译安装php7.2.3 最后只有400m

需要制作2个镜像
一个基础编译镜像,后续的打包编译都是在这里面做。
一个是迁移镜像,把打包好的二进制文件迁移再这个镜像里,可以制作出只有400m不到的php镜像
1.在基础编译镜像中需要安装的依赖

可选依赖 apk add --no-cache shadow openssh bash gnupg
打包编译组建依赖 apk add --no-cache autoconf gcc make g++ 
本次要安装扩展redis nsq swoole amqp 
所以多了2个依赖rabbitmq-c-dev libevent-dev 一般基础安装是不需要这2个依赖的
apk add --no-cache rabbitmq-c-dev libevent-dev

apk add --no-cache curl-dev icu-dev bzip2-dev libc-dev pcre-dev zlib-dev linux-headers libxslt-dev gd-dev geoip-dev libjpeg-turbo-dev libpng-dev freetype-dev gettext-dev

解压源码包 
./configure \
--prefix=/php \
--with-fpm-user=root \
--with-fpm-group=root \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-gd \
--with-xsl \
--with-xmlrpc \
--with-bz2 \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-gettext \
--with-php-config \
--with-openssl \
--with-curl \
--with-zlib \
--enable-intl \
--enable-soap \
--enable-wddx \
--enable-zip \
--enable-pcntl \
--enable-mbstring \
--enable-exif \
--enable-bcmath \
--enable-calendar \
--enable-shmop \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-fpm \
--enable-opcache

make -j && make install

cp php.ini-development /php/lib/php.ini
cp /php/etc/php-fpm.conf.default /php/etc/php-fpm.conf
cp /php/etc/php-fpm.d/www.conf.default /php/etc/php-fpm.d/www.conf

2.最后把制作好的2进制包迁移到新的Alpine镜像中,安装需要的依赖就行了,不要安装编译组件不然 包很大 多200m以上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值