blob: a74bc18be6a5708e8bda8195f8255f391f25e369 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM php:8.1-fpm-bullseye as builder
ARG SW_AGENT_PHP_COMMIT
ENV RUSTUP_HOME=/usr/local/rustup \
CARGO_HOME=/usr/local/cargo \
PATH=/usr/local/cargo/bin:$PATH \
RUST_VERSION=1.85.1
WORKDIR /tmp
RUN apt update \
&& apt install -y wget protobuf-compiler libclang-dev git \
&& wget https://static.rust-lang.org/rustup/archive/1.28.2/x86_64-unknown-linux-gnu/rustup-init \
&& chmod +x rustup-init \
&& ./rustup-init -y --no-modify-path --profile minimal --default-toolchain $RUST_VERSION --default-host x86_64-unknown-linux-gnu \
&& rm rustup-init \
&& chmod -R a+w $RUSTUP_HOME $CARGO_HOME
RUN git clone https://github.com/apache/skywalking-php.git $(pwd)
RUN git reset --hard ${SW_AGENT_PHP_COMMIT} && git submodule update --init
RUN phpize \
&& ./configure --enable-skywalking_agent \
&& make \
&& make install
FROM php:8.1-fpm-bullseye
RUN apt update \
&& apt install -y nginx \
&& cd / \
&& rm -rf /var/cache/apk/*
COPY --from=builder /usr/local/lib/php/extensions/no-debug-non-zts-20210902/skywalking_agent.so /usr/local/lib/php/extensions/no-debug-non-zts-20210902/
COPY entrypoint.sh /entrypoint.sh
EXPOSE 9000
EXPOSE 8080
ENTRYPOINT ["/entrypoint.sh"]