|
| 1 | +FROM bandsintown/php:5.6-fpm as builder |
| 2 | + |
| 3 | +RUN echo http://dl-cdn.alpinelinux.org/alpine/v3.6/main >> /etc/apk/repositories \ |
| 4 | + && echo http://dl-cdn.alpinelinux.org/alpine/v3.6/community >> /etc/apk/repositories |
| 5 | + |
| 6 | +RUN apk update --no-cache && \ |
| 7 | + apk upgrade --no-cache && \ |
| 8 | + apk add sudo abuild --virtual .build-deps |
| 9 | + |
| 10 | +# compile cassandra |
| 11 | +# the cassandra pecl v1.3.0+ needs cassandra-cpp-driver 1.7+ |
| 12 | +RUN apk add --no-cache cassandra-cpp-driver libuv gmp && \ |
| 13 | + apk add --no-cache cassandra-cpp-driver-dev gmp-dev --virtual .build-sec && \ |
| 14 | + pecl install cassandra-1.3.0 && \ |
| 15 | + apk del .build-sec |
| 16 | + # disable by default |
| 17 | + #echo "extension=cassandra.so" > /etc/php5/conf.d/cassandra.ini |
| 18 | + |
| 19 | +RUN adduser -D build && \ |
| 20 | + addgroup build abuild && \ |
| 21 | + sudo -H -u build mkdir /home/build/thrift && \ |
| 22 | + sudo -H -u build mkdir /home/build/php5-pdo_cassandra && \ |
| 23 | + sudo -H -u build abuild-keygen -an && \ |
| 24 | + source /home/build/.abuild/abuild.conf && \ |
| 25 | + cp "$PACKAGER_PRIVKEY".pub /etc/apk/keys/ |
| 26 | + |
| 27 | +# compile thrift |
| 28 | +COPY APKBUILD-thrift /home/build/thrift/APKBUILD |
| 29 | +RUN cd /home/build/thrift && \ |
| 30 | + sudo -H -u build abuild -r && \ |
| 31 | + apk add --no-cache /home/build/packages/build/x86_64/thrift*.apk && \ |
| 32 | + echo "extension=thrift_protocol.so" > /usr/local/etc/php/conf.d/thrift_protocol.ini |
| 33 | + |
| 34 | +# compile php5-pdo_cassandra |
| 35 | +COPY APKBUILD-php5-pdo_cassandra /home/build/php5-pdo_cassandra/APKBUILD |
| 36 | +RUN cd /home/build/php5-pdo_cassandra && \ |
| 37 | + sudo -H -u build abuild -r && \ |
| 38 | + apk add /home/build/packages/build/x86_64/php5-pdo_cassandra-0.6.0-r0.apk && \ |
| 39 | + echo "extension=pdo_cassandra.so" > /usr/local/etc/php/conf.d/pdo_cassandra.ini |
| 40 | + |
| 41 | +# cleaning |
| 42 | +RUN deluser build && \ |
| 43 | + rm -R /home/build && \ |
| 44 | + apk del .build-deps |
| 45 | + |
| 46 | +FROM bandsintown/php:5.6-fpm |
| 47 | + |
| 48 | +COPY --from=builder /usr/local/etc/php/conf.d/*.ini /usr/local/etc/php/conf.d/ |
| 49 | +COPY --from=builder /usr/bin/thrift /usr/bin/thrift |
| 50 | +COPY --from=builder /usr/include/thrift /usr/include/thrift |
| 51 | +COPY --from=builder /usr/local/lib/php/extensions /usr/local/lib/php/extensions |
| 52 | +COPY --from=builder /lib/libcrypto* /lib/ |
| 53 | +COPY --from=builder /usr/lib/libcrypto* /usr/lib/ |
| 54 | +COPY --from=builder /usr/lib/libcassandra* /usr/lib/ |
| 55 | +COPY --from=builder /usr/lib/libthrift* /usr/lib/ |
| 56 | +COPY --from=builder /usr/lib/libboost* /usr/lib/ |
0 commit comments