docker-swoole-install

Dockerfile

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
FROM php:7.2-alpine
FROM registry.cn-beijing.aliyuncs.com/xinxuewen/webfpm-dev:1.0.5
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
#RUN apk add php7-bcmath
#RUN cp /etc/php7/conf.d/00_bcmath.ini /usr/local/etc/php/conf.d/docker-php-ext-bcmath.ini
#RUN cp /usr/lib/php7/modules/bcmath.so /usr/local/lib/php/extensions/no-debug-non-zts-20170718/bcmath.so
RUN apk upgrade --update
RUN docker-php-ext-install bcmath
RUN docker-php-ext-install sockets
RUN apk add libstdc++
RUN apk upgrade --update \
&& apk add --no-cache --virtual .build-deps \
linux-headers \
autoconf \
cmake \
gcc \
libc-dev \
make \
musl \
g++ \
&& pecl install swoole \
&& docker-php-ext-enable swoole \
&& apk del .build-deps \
&& rm -rf /var/cache/apk/*

关于 apk —vertual

用法: —vertual name pkg1 pkg2 pkg3

在docker中编译安装某个程序会依赖某个或多个程序和库,这些程序和库不会安装到全局的packages里面。
在安装完这个程序之后通常需要把编译时候依赖的包删除,以节省空间。
可以用apk del name 方便地将 pkg1 pkg2 pkg3 删除。