xref: /aosp_15_r20/external/grpc-grpc/examples/php/echo/apache.Dockerfile (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1# Copyright 2019 gRPC authors.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#     http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15FROM composer:1.8.6 as composer
16
17
18FROM grpc-php/base as grpc-base
19
20
21FROM php:8.1-apache-buster
22
23RUN apt-get -qq update && apt-get -qq install -y git
24
25
26COPY --from=composer /usr/bin/composer /usr/bin/composer
27
28COPY --from=grpc-base /github/grpc/cmake/build/third_party/protobuf/protoc \
29  /usr/local/bin/protoc
30
31COPY --from=grpc-base /github/grpc/cmake/build/grpc_php_plugin \
32  /usr/local/bin/protoc-gen-grpc
33
34COPY --from=grpc-base \
35  /usr/local/lib/php/extensions/no-debug-non-zts-20190902/grpc.so \
36  /usr/local/lib/php/extensions/no-debug-non-zts-20190902/grpc.so
37
38
39RUN docker-php-ext-enable grpc
40
41
42WORKDIR /var/www/html
43
44COPY client.php ./index.php
45COPY composer.json .
46COPY echo.proto .
47
48RUN chmod 644 index.php
49
50RUN protoc -I=. echo.proto --php_out=. --grpc_out=.
51
52RUN composer install
53