Dockerfile 1.5 KB
Newer Older
H
heyanlong 已提交
1
FROM php:7.4-fpm-alpine AS builder
H
heyanlong 已提交
2

何延龙 已提交
3 4
ENV GRPC_RELEASE_TAG v1.31.x

H
heyanlong 已提交
5
ADD . /tmp/skywalking
H
heyanlong 已提交
6

H
heyanlong 已提交
7
RUN set -ex \
H
heyanlong 已提交
8 9
    && apk add --no-cache \
       autoconf dpkg-dev dpkg file g++ gcc libc-dev make pkgconf re2c \
何延龙 已提交
10 11 12 13 14 15 16 17 18 19 20
       git ca-certificates curl-dev nginx \
    && echo "--- clone grpc ---" \
    && git clone --depth 1 -b ${GRPC_RELEASE_TAG} https://github.com/grpc/grpc /var/local/git/grpc \
    && cd /var/local/git/grpc && git submodule update --init \
    && echo "--- installing protobuf ---" \
    && cd third_party/protobuf \
    && ./autogen.sh && ./configure --enable-shared \
    && make -j$(nproc) && make -j$(nproc) check && make install && make clean && ldconfig \
    && echo "--- grpc protobuf ---" \
    && cd /var/local/git/grpc \
    && make -j$(nproc) && make install && make clean && ldconfig \
H
heyanlong 已提交
21
    && cd /tmp/skywalking \
H
heyanlong 已提交
22
    && phpize && ./configure && make && make install \
H
heyanlong 已提交
23
    && cp php.ini $PHP_INI_DIR/conf.d/ext-skywalking.ini \
H
heyanlong 已提交
24 25
    && cp service.sh /opt/ \
    && cp nginx.conf /etc/nginx/nginx.conf \
H
heyanlong 已提交
26 27 28 29 30 31 32 33 34 35 36 37
    && cp skywalking.php /var/www/html/index.php \
    && cd / \
    && tar zcvf dist.tar.gz \
       opt/service.sh \
       etc/nginx/nginx.conf \
       var/www/html/index.php \
       usr/local/etc/php/conf.d/ext-skywalking.ini \
       usr/local/lib/php/extensions/no-debug-non-zts-20190902/skywalking.so

FROM php:7.4-fpm-alpine
COPY --from=builder /dist.tar.gz /
RUN set -ex \
何延龙 已提交
38
    && apk add --no-cache nginx grpc protoc \
H
heyanlong 已提交
39 40 41
    && tar zxvf /dist.tar.gz -C / \
    && rm -fr /usr/src/php.tar.xz \
    && rm -fr /dist.tar.gz
H
heyanlong 已提交
42

H
heyanlong 已提交
43
ENTRYPOINT ["/opt/service.sh"]