Merge pull request #22654 from jeffreyqw/dockerfile/centos7

PHP:Dockerfile grpc-centos
pull/22731/head
Stanley Cheung 5 years ago committed by GitHub
commit c07ddb4504
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      src/php/bin/build_all_docker_images.sh
  2. 2
      src/php/bin/run_all_docker_images.sh
  3. 14
      src/php/docker/README.md
  4. 49
      src/php/docker/centos7/Dockerfile
  5. 42
      templates/src/php/docker/centos7/Dockerfile.template

@ -16,7 +16,7 @@
set -e
cd $(dirname $0)/../../..
ALL_IMAGES=( grpc-ext grpc-src alpine php5 php-src php-future php-zts
ALL_IMAGES=( grpc-ext grpc-src alpine centos7 php5 php-src php-future php-zts
fork-support )
if [[ "$1" == "--cmds" ]]; then

@ -16,7 +16,7 @@
set -e
cd $(dirname $0)/../../..
ALL_IMAGES=( grpc-ext grpc-src alpine php5 php-src php-future php-zts
ALL_IMAGES=( grpc-ext grpc-src alpine centos7 php5 php-src php-future php-zts
fork-support )
if [[ "$1" == "--cmds" ]]; then

@ -95,6 +95,20 @@ Run image:
```sh
$ docker run -it --rm grpc-php/alpine
```
### `centos7`
This image builds the `grpc` extension against the GCC version in Centos7 base image.
Build `centos7` docker image:
```sh
$ cd grpc
$ docker build -t grpc-gcc5/centos -f ./src/php/docker/centos7/Dockerfile .
```
Run image:
```sh
$ docker run -it --rm grpc-gcc5/centos
```
### `php-src`

@ -0,0 +1,49 @@
# Copyright 2019 gRPC authors.
#
# Licensed 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 centos:centos7
RUN yum update -y && \
yum install epel-release -y && \
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm && \
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm && \
yum --enablerepo=remi-php72 install php -y && \
yum-config-manager --enable remi-php72 && \
yum install -y php-fpm php-pear make php-devel wget libmpc-devel mpfr-devel gmp-devel yum-utils && \
yum clean all -y
ARG MAKEFLAGS=-j8
WORKDIR /tmp
RUN yum install -y centos-release-scl && \
yum install -y devtoolset-4-gcc*
SHELL [ "/usr/bin/scl", "enable", "devtoolset-4"]
RUN wget https://phar.phpunit.de/phpunit-5.7.27.phar && \
mv phpunit-5.7.27.phar /usr/local/bin/phpunit && \
chmod +x /usr/local/bin/phpunit
WORKDIR /github/grpc
COPY . .
RUN pear package && \
find . -name grpc-*.tgz | xargs -I{} pecl install {}
CMD ["/github/grpc/src/php/bin/run_tests.sh", "--skip-persistent-channel-tests"]

@ -0,0 +1,42 @@
%YAML 1.2
--- |
# Copyright 2019 gRPC authors.
#
# Licensed 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 centos:centos7
RUN yum update -y && ${'\\'}
yum install epel-release -y && ${'\\'}
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm && ${'\\'}
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm && ${'\\'}
yum --enablerepo=remi-php72 install php -y && ${'\\'}
yum-config-manager --enable remi-php72 && ${'\\'}
yum install -y php-fpm php-pear make php-devel wget libmpc-devel mpfr-devel gmp-devel yum-utils && ${'\\'}
yum clean all -y
ARG MAKEFLAGS=-j8
WORKDIR /tmp
RUN yum install -y centos-release-scl && ${'\\'}
yum install -y devtoolset-4-gcc*
SHELL [ "/usr/bin/scl", "enable", "devtoolset-4"]
<%include file="../download_phpunit.include" />
<%include file="../pecl_ext_build_src.include" />
CMD ["/github/grpc/src/php/bin/run_tests.sh", "--skip-persistent-channel-tests"]
Loading…
Cancel
Save