制作swoole的docker
1、由于使用的是docker hub 中的 centos:6
,因此一上来需要先安装开发包,
为了省事,我直接就用下面这条命令了:
yum groupinstall "Development Libraries" "Development Tools"
2、去下载php官网比较新的源码,我下载的是 php-5.6.10
。
3、安装libxml2-devel
yum install libxml2-devel
4、解压下载后的php源码包,直接 ./configure
然后结束后执行 make && make install
。
5、编译安装结束后,下载swoole的源码,我下载的是 swoole-1.7.17
,解压,然后依次执行:phpize
./configure
make && make install
6、编辑php.ini,加入 extension=swoole.so
7、安装完毕,开始瘦身,我主要是删掉 /usr/share
/usr/local
/usr/src
下面的一些文件,最终初步瘦身从800M到300M。
8、删除完文件后,回到根目录,执行
mkdir /rootfs
mkdir bin etc dev dev/pts lib usr proc sys tmp
mkdir -p usr/lib64 usr/bin usr/local/bin
wget http://busybox.net/downloads/binaries/1.21.1/busybox-x86_64 /sbin/busybox
chmod +x /sbin/busybox
cp /sbin/busybox bin
busybox –install -s bin
cp -r /bin /rootfs/bin
cp -r /etc /rootfs/etc
cp -r /lib /rootfs/lib
cp -r /usr /rootfs/usr
cd /rootfs
tar cf /rootfs.tar .
9、把生成的 rootfs.tar 从 container 中 scp 出来,在放置 rootfs.tar 的目录下,
新建个 Dockerfile 文件,内容如下:
FROM scratch
MAINTAINER ety001 <[email protected]>
ADD rootfs.tar /
10、等待完成后,就可以用 docker images
命令看到新做的这个镜像了。