Deploying PHP Google AppEngine FE using dockerfile got ERROR: (gcloud.app.deploy) Error Response: [2] Build failed

581 views
Skip to first unread message

Dhandapani Sattanathan

unread,
Jan 6, 2017, 2:45:15 AM1/6/17
to Google App Engine

I want to use Google AppEngine Flexible Environment with PHP 7. So, I used Dockerfile to use PHP 7 in FE.You can see my app.yaml, docker file, helloworld.php.


App.yaml


runtime: custom

env
: flex

api_version
: 1

handlers
:

- url: /.*
  script
: helloworld.php



Dockerfile


# Copyright 2015 Google Inc.
#
# 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.
# Dockerfile for PHP 5.6 using nginx as the webserver.

FROM gcr
.io/google_appengine/base
# persistent / runtime deps
RUN apt
-get update && \
    apt
-get -y upgrade && \
    apt
-get install -y --no-install-recommends \
    cron
\
    curl
\
    gettext
\
    git
\
    libbz2
-1.0 \
    libicu52
\
    libmcrypt4
\
    libmemcached11
\
    libmemcachedutil2
\
    libpcre3
\
    libpng12
-0 \
    libpq5
\
    libreadline6
\
    librecode0
\
    libsqlite3
-0 \
    libxml2
\
    libxslt1
.1 \
    logrotate
\
    mercurial
\
    subversion
\
    supervisor
\
    zlib1g
ENV NGINX_DIR
=/opt/nginx \
    PHP_DIR
=/opt/php \
    PHP56_DIR
=/opt/php56 \
    PHP7_DIR
=/opt/php7 \
    LOG_DIR
=/var/log/app_engine \
    APP_DIR
=/app \
    NGINX_USER_CONF_DIR=/
etc/nginx/conf.d \
    UPLOAD_DIR
=/upload \
    SESSION_SAVE_PATH=/
tmp/sessions \
    NGINX_VERSION
=1.10.1 \
    PHP56_VERSION
=5.6.26 \
    PHP70_VERSION
=7.0.11 \
    PATH
=/opt/php/bin:$PATH \
    WWW_HOME
=/var/www
# gpgkeys for verifying the tarballs
COPY gpgkeys
/gpgkeys
# BUILD PHP, nginx and other dependencies.
COPY build
-scripts /build-scripts
RUN
/bin/bash /build-scripts/apt_build_deps.sh install && \
   
/bin/bash /build-scripts/build_nginx.sh && \
   
/bin/bash /build-scripts/build_php56.sh && \
   
/bin/bash /build-scripts/build_php70.sh && \
   
/bin/bash /build-scripts/apt_build_deps.sh uninstall
EXPOSE
8080
# Lock down the web directories
RUN mkdir
-p $APP_DIR $LOG_DIR $UPLOAD_DIR $SESSION_SAVE_PATH \
        $NGINX_USER_CONF_DIR $WWW_HOME
\
   
&& chown -R www-data.www-data \
        $APP_DIR $UPLOAD_DIR $SESSION_SAVE_PATH $LOG_DIR
\
        $NGINX_USER_CONF_DIR $WWW_HOME
\
   
&& chmod 755 $UPLOAD_DIR $SESSION_SAVE_PATH \
   
# For easy access to php with `su www-data -c $CMD`
   
&& ln -sf ${PHP_DIR}/bin/php /usr/bin/php
# Put config files into place.
COPY nginx
.conf fastcgi_params gzip_params $NGINX_DIR/conf/
COPY nginx
-app.conf $NGINX_USER_CONF_DIR
COPY php
.ini php-cli.ini php-cli-strict.ini $PHP56_DIR/lib/
COPY php
.ini php-cli.ini php-cli-strict.ini $PHP7_DIR/lib/
COPY php
-fpm.conf $PHP56_DIR/etc/php-fpm.conf
COPY php
-fpm.conf $PHP7_DIR/etc/php-fpm.conf
RUN touch $PHP56_DIR
/etc/php-fpm-user.conf $PHP7_DIR/etc/php-fpm-user.conf
COPY supervisord
.conf /etc/supervisor/supervisord.conf
COPY logrotate
.app_engine /etc/logrotate.d/app_engine
COPY entrypoint
.sh composer.sh whitelist_functions.php /
RUN chgrp www
-data composer.sh && chmod +x /entrypoint.sh /composer.sh \
   
# Temporary enable the shell for www-data
   
# We will disable it in entrypoint.sh
   
&& chsh -s /bin/bash www-data
# A script for extracting PHP version from composer.json.
COPY detect_php_version
.php /tmp/detect_php_version.php
RUN chgrp www
-data /tmp/detect_php_version.php && cd /tmp \
   
&& su www-data -c "php /usr/local/bin/composer require composer/semver"
# Copy the app and change the owner
ONBUILD COPY
. $APP_DIR
ONBUILD RUN chown
-R www-data.www-data $APP_DIR
WORKDIR $APP_DIR
ONBUILD RUN
/composer.sh
ENTRYPOINT
["/entrypoint.sh"]
CMD
["/usr/bin/supervisord"]


helloworld.php

<?php
  echo
'Hello, World!';
?>


I deployed my sample PHP FE using Cloud shell Command line.. After gcloud app deploy.Please refer the below.


user@projectname:~/corephp$ gcloud app deploy

You are about to deploy the following services:
 - projectname/default/20170105t174829 (from [/home/user/corephp/app.yaml])
     Deploying to URL: [https://projectname.appspot.com]

Do you want to continue (Y/n)?  Y

If this is your first deployment, this may take a while...done.                                                                                                                                      

Beginning deployment of service [default]...
WARNING: Deployment of App Engine Flexible Environment apps is currently in Beta
WARNING: Could not generate [source-context.json]: Could not list remote URLs from source directory: /home/user/corephp
Building and pushing image for service [default]
Started cloud build [49476e94-25eb-453a-86cb-77b54c49e602].
To see logs in the Cloud Console: https://console.developers.google.com/logs/viewer?resource=build&project=projectname&filters=text:49476e94-25eb-453a-86cb-77b54c49e602
---------------------------------------------------------------------------------------- REMOTE BUILD OUTPUT -----------------------------------------------------------------------------------------
starting build "49476e94-25eb-453a-86cb-77b54c49e602"

FETCHSOURCE
Fetching storage object: gs://staging.projectname.appspot.com/us.gcr.io/projectname/appengine/default.20170105t174829:latest#1483618722272000
Copying gs://staging.projectname.appspot.com/us.gcr.io/projectname/appengine/default.20170105t174829:latest#1483618722272000...
Downloading file:///tmp/source-archive.tgz:                      1.74 KiB/1.74 KiB    
BUILD
Already have image (with digest): gcr.io/cloud-builders/docker
Sending build context to Docker daemon  7.68 kB
Step 1 : FROM gcr.io/google_appengine/base
 ---> 8d1b0e0966ef
Step 2 : RUN apt-get update &&     apt-get -y upgrade &&     apt-get install -y --no-install-recommends     cron     curl     gettext     git     libbz2-1.0     libicu52     libmcrypt4     libmemcached11     libmemcachedutil2     libpcre3     libpng12-0     libpq5     libreadline6     librecode0     libsqlite3-0     libxml2     libxslt1.1     logrotate     mercurial     subversion     supervisor     zlib1g
 ---> Running in d82d2fa68c69
Get:1 http://security.debian.org jessie/updates InRelease [63.1 kB]
Ign http://httpredir.debian.org jessie InRelease
Get:2 http://httpredir.debian.org jessie-updates InRelease [145 kB]
Get:3 http://security.debian.org jessie/updates/main amd64 Packages [428 kB]
Get:4 http://httpredir.debian.org jessie Release.gpg [2373 B]
Get:5 http://httpredir.debian.org jessie Release [148 kB]
Get:6 http://httpredir.debian.org jessie-updates/main amd64 Packages [17.6 kB]
Get:7 http://httpredir.debian.org jessie/main amd64 Packages [9064 kB]
Fetched 9869 kB in 3s (2645 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
The following packages will be upgraded:
  apt libapt-pkg4.12 tzdata
3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2087 kB of archives.
After this operation, 3072 B of additional disk space will be used.
Get:1 http://security.debian.org/ jessie/updates/main libapt-pkg4.12 amd64 1.0.9.8.4 [792 kB]
Get:2 http://httpredir.debian.org/debian/ jessie-updates/main tzdata all 2016j-0+deb8u1 [186 kB]
Get:3 http://security.debian.org/ jessie/updates/main apt amd64 1.0.9.8.4 [1109 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 2087 kB in 0s (5830 kB/s)
(Reading database ... 7768 files and directories currently installed.)
Preparing to unpack .../libapt-pkg4.12_1.0.9.8.4_amd64.deb ...
Unpacking libapt-pkg4.12:amd64 (1.0.9.8.4) over (1.0.9.8.3) ...
Setting up libapt-pkg4.12:amd64 (1.0.9.8.4) ...
Processing triggers for libc-bin (2.19-18+deb8u6) ...
(Reading database ... 7768 files and directories currently installed.)
Preparing to unpack .../apt_1.0.9.8.4_amd64.deb ...
Unpacking apt (1.0.9.8.4) over (1.0.9.8.3) ...
Setting up apt (1.0.9.8.4) ...
Processing triggers for libc-bin (2.19-18+deb8u6) ...
(Reading database ... 7768 files and directories currently installed.)
Preparing to unpack .../tzdata_2016j-0+deb8u1_all.deb ...
Unpacking tzdata (2016j-0+deb8u1) over (2016i-0+deb8u1) ...
Setting up tzdata (2016j-0+deb8u1) ...

Current default time zone: 'Etc/UTC'
Local time is now:      Thu Jan  5 12:19:06 UTC 2017.
Universal Time is now:  Thu Jan  5 12:19:06 UTC 2017.
Run 'dpkg-reconfigure tzdata' if you wish to change it.

Reading package lists...
Building dependency tree...
Reading state information...
libbz2-1.0 is already the newest version.
libpcre3 is already the newest version.
libreadline6 is already the newest version.
zlib1g is already the newest version.
The following extra packages will be installed:
  gettext-base git-man init-system-helpers libapr1 libaprutil1 libasprintf0c2
  libcroco3 libcurl3 libcurl3-gnutls liberror-perl libexpat1 libffi6 libgdbm3
  libglib2.0-0 libgmp10 libgnutls-deb0-28 libgomp1 libgssapi-krb5-2
  libhogweed2 libidn11 libjs-excanvas libk5crypto3 libkeyutils1 libkrb5-3
  libkrb5support0 libldap-2.4-2 libnettle4 libp11-kit0 libpopt0
  libpython-stdlib libpython2.7-minimal libpython2.7-stdlib librtmp1
  libsasl2-2 libsasl2-modules-db libserf-1-1 libssh2-1 libsvn1 libtasn1-6
  libunistring0 mercurial-common mime-support perl perl-modules python
  python-meld3 python-minimal python-pkg-resources python2.7 python2.7-minimal
  ucf
Suggested packages:
  anacron checksecurity gettext-doc git-daemon-run git-daemon-sysvinit git-doc
  git-el git-email git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn
  gnutls-bin krb5-doc krb5-user libmcrypt-dev mcrypt qct kdiff3 kdiff3-qt
  kompare meld tkcvs mgdiff wish python-mysqldb python-pygments python-openssl
  perl-doc libterm-readline-gnu-perl libterm-readline-perl-perl make
  libb-lint-perl libcpanplus-dist-build-perl libcpanplus-perl
  libfile-checktree-perl liblog-message-simple-perl liblog-message-perl
  libobject-accessor-perl python-doc python-tk python-distribute
  python-distribute-doc python2.7-doc binutils binfmt-support subversion-tools
  db5.3-util
Recommended packages:
  exim4 postfix mail-transport-agent autopoint libasprintf-dev
  libgettextpo-dev patch less rsync ssh-client libglib2.0-data
  shared-mime-info xdg-user-dirs javascript-common krb5-locales
  libsasl2-modules xml-core mailx openssh-client file netbase rename
  libarchive-extract-perl libmodule-pluggable-perl libpod-latex-perl
  libterm-ui-perl libtext-soundex-perl libcgi-pm-perl libmodule-build-perl
  libpackage-constants-perl
The following NEW packages will be installed:
  cron curl gettext gettext-base git git-man init-system-helpers libapr1
  libaprutil1 libasprintf0c2 libcroco3 libcurl3 libcurl3-gnutls liberror-perl
  libexpat1 libffi6 libgdbm3 libglib2.0-0 libgmp10 libgnutls-deb0-28 libgomp1
  libgssapi-krb5-2 libhogweed2 libicu52 libidn11 libjs-excanvas libk5crypto3
  libkeyutils1 libkrb5-3 libkrb5support0 libldap-2.4-2 libmcrypt4
  libmemcached11 libmemcachedutil2 libnettle4 libp11-kit0 libpng12-0 libpopt0
  libpq5 libpython-stdlib libpython2.7-minimal libpython2.7-stdlib librecode0
  librtmp1 libsasl2-2 libsasl2-modules-db libserf-1-1 libsqlite3-0 libssh2-1
  libsvn1 libtasn1-6 libunistring0 libxml2 libxslt1.1 logrotate mercurial
  mercurial-common mime-support perl perl-modules python python-meld3
  python-minimal python-pkg-resources python2.7 python2.7-minimal subversion
  supervisor ucf
0 upgraded, 69 newly installed, 0 to remove and 0 not upgraded.
Need to get 35.6 MB of archives.
After this operation, 151 MB of additional disk space will be used.
Get:1 http://security.debian.org/ jessie/updates/main libxml2 amd64 2.9.1+dfsg1-5+deb8u4 [802 kB]
Get:2 http://httpredir.debian.org/debian/ jessie/main init-system-helpers all 1.22 [14.0 kB]
Get:3 http://httpredir.debian.org/debian/ jessie/main cron amd64 3.0pl1-127+deb8u1 [94.0 kB]
Get:4 http://security.debian.org/ jessie/updates/main libcurl3 amd64 7.38.0-4+deb8u5 [259 kB]
Get:5 http://security.debian.org/ jessie/updates/main libcurl3-gnutls amd64 7.38.0-4+deb8u5 [252 kB]
Get:6 http://httpredir.debian.org/debian/ jessie/main libgdbm3 amd64 1.8.3-13.1 [30.0 kB]
Get:7 http://httpredir.debian.org/debian/ jessie/main libnettle4 amd64 2.7.1-5+deb8u1 [176 kB]
Get:8 http://security.debian.org/ jessie/updates/main libicu52 amd64 52.1-8+deb8u4 [6791 kB]
Get:9 http://httpredir.debian.org/debian/ jessie/main libhogweed2 amd64 2.7.1-5+deb8u1 [126 kB]
Get:10 http://httpredir.debian.org/debian/ jessie/main libffi6 amd64 3.1-2+b2 [20.1 kB]
Get:11 http://httpredir.debian.org/debian/ jessie/main libtasn1-6 amd64 4.2-3+deb8u2 [49.0 kB]
Get:12 http://httpredir.debian.org/debian/ jessie/main libpopt0 amd64 1.16-10 [49.2 kB]
Get:13 http://httpredir.debian.org/debian/ jessie/main libgnutls-deb0-28 amd64 3.3.8-6+deb8u3 [694 kB]
Get:14 http://httpredir.debian.org/debian/ jessie/main libk5crypto3 amd64 1.12.1+dfsg-19+deb8u2 [115 kB]
Get:15 http://httpredir.debian.org/debian/ jessie/main libasprintf0c2 amd64 0.19.3-2 [31.3 kB]
Get:16 http://httpredir.debian.org/debian/ jessie/main libgmp10 amd64 2:6.0.0+dfsg-6 [253 kB]
Get:17 http://httpredir.debian.org/debian/ jessie/main libsasl2-modules-db amd64 2.1.26.dfsg1-13+deb8u1 [67.1 kB]
Get:18 http://httpredir.debian.org/debian/ jessie/main libsasl2-2 amd64 2.1.26.dfsg1-13+deb8u1 [105 kB]
Get:19 http://httpredir.debian.org/debian/ jessie/main libldap-2.4-2 amd64 2.4.40+dfsg-1+deb8u2 [218 kB]
Get:20 http://httpredir.debian.org/debian/ jessie/main libsqlite3-0 amd64 3.8.7.1-1+deb8u2 [438 kB]
Get:21 http://httpredir.debian.org/debian/ jessie/main perl-modules all 5.20.2-3+deb8u6 [2547 kB]
Get:22 http://httpredir.debian.org/debian/ jessie/main perl amd64 5.20.2-3+deb8u6 [2637 kB]
Get:23 http://httpredir.debian.org/debian/ jessie/main libp11-kit0 amd64 0.20.7-1 [81.2 kB]
Get:24 http://httpredir.debian.org/debian/ jessie/main libpython2.7-minimal amd64 2.7.9-2+deb8u1 [378 kB]
Get:25 http://httpredir.debian.org/debian/ jessie/main libkeyutils1 amd64 1.5.9-5+b1 [12.0 kB]
Get:26 http://httpredir.debian.org/debian/ jessie/main libkrb5support0 amd64 1.12.1+dfsg-19+deb8u2 [59.1 kB]
Get:27 http://httpredir.debian.org/debian/ jessie/main libkrb5-3 amd64 1.12.1+dfsg-19+deb8u2 [303 kB]
Get:28 http://httpredir.debian.org/debian/ jessie/main libpython-stdlib amd64 2.7.9-1 [19.5 kB]
Get:29 http://httpredir.debian.org/debian/ jessie/main libapr1 amd64 1.5.1-3 [95.3 kB]
Get:30 http://httpredir.debian.org/debian/ jessie/main libaprutil1 amd64 1.5.4-1 [86.2 kB]
Get:31 http://httpredir.debian.org/debian/ jessie/main libglib2.0-0 amd64 2.42.1-1+b1 [2401 kB]
Get:32 http://httpredir.debian.org/debian/ jessie/main libgssapi-krb5-2 amd64 1.12.1+dfsg-19+deb8u2 [152 kB]
Get:33 http://httpredir.debian.org/debian/ jessie/main librtmp1 amd64 2.4+20150115.gita107cef-1 [59.8 kB]
Get:34 http://httpredir.debian.org/debian/ jessie/main libmemcached11 amd64 1.0.18-4 [95.2 kB]
Get:35 http://httpredir.debian.org/debian/ jessie/main libidn11 amd64 1.29-1+deb8u2 [136 kB]
Get:36 http://httpredir.debian.org/debian/ jessie/main libpng12-0 amd64 1.2.50-2+deb8u2 [173 kB]
Get:37 http://httpredir.debian.org/debian/ jessie/main libpq5 amd64 9.4.9-0+deb8u1 [124 kB]
Get:38 http://httpredir.debian.org/debian/ jessie/main python2.7-minimal amd64 2.7.9-2+deb8u1 [1401 kB]
Get:39 http://httpredir.debian.org/debian/ jessie/main librecode0 amd64 3.6-21 [529 kB]
Get:40 http://httpredir.debian.org/debian/ jessie/main libsvn1 amd64 1.8.10-6+deb8u4 [1076 kB]
Get:41 http://httpredir.debian.org/debian/ jessie/main libunistring0 amd64 0.9.3-5.2+b1 [288 kB]
Get:42 http://httpredir.debian.org/debian/ jessie/main logrotate amd64 3.8.7-1+b1 [52.2 kB]
Get:43 http://httpredir.debian.org/debian/ jessie/main gettext-base amd64 0.19.3-2 [121 kB]
Get:44 http://security.debian.org/ jessie/updates/main libxslt1.1 amd64 1.1.28-2+deb8u2 [232 kB]
Get:45 http://httpredir.debian.org/debian/ jessie/main ucf all 3.0030 [69.7 kB]
Get:46 http://security.debian.org/ jessie/updates/main curl amd64 7.38.0-4+deb8u5 [200 kB]
Get:47 http://httpredir.debian.org/debian/ jessie/main git-man all 1:2.1.4-2.1+deb8u2 [1267 kB]
Get:48 http://httpredir.debian.org/debian/ jessie/main libjs-excanvas all 0.r3-3 [48.8 kB]
Get:49 http://httpredir.debian.org/debian/ jessie/main libmcrypt4 amd64 2.5.8-3.3 [71.2 kB]
Get:50 http://httpredir.debian.org/debian/ jessie/main mercurial-common all 3.1.2-2+deb8u3 [1601 kB]
Get:51 http://httpredir.debian.org/debian/ jessie/main python-minimal amd64 2.7.9-1 [40.3 kB]
Get:52 http://httpredir.debian.org/debian/ jessie/main mime-support all 3.58 [36.0 kB]
Get:53 http://httpredir.debian.org/debian/ jessie/main mercurial amd64 3.1.2-2+deb8u3 [60.0 kB]
Get:54 http://httpredir.debian.org/debian/ jessie/main python-pkg-resources all 5.5.1-1 [64.4 kB]
Get:55 http://httpredir.debian.org/debian/ jessie/main libexpat1 amd64 2.1.0-6+deb8u3 [80.0 kB]
Get:56 http://httpredir.debian.org/debian/ jessie/main subversion amd64 1.8.10-6+deb8u4 [923 kB]
Get:57 http://httpredir.debian.org/debian/ jessie/main libpython2.7-stdlib amd64 2.7.9-2+deb8u1 [1847 kB]
Get:58 http://httpredir.debian.org/debian/ jessie/main python-meld3 amd64 1.0.0-1 [37.0 kB]
Get:59 http://httpredir.debian.org/debian/ jessie/main python2.7 amd64 2.7.9-2+deb8u1 [252 kB]
Get:60 http://httpredir.debian.org/debian/ jessie/main python amd64 2.7.9-1 [151 kB]
Get:61 http://httpredir.debian.org/debian/ jessie/main libcroco3 amd64 0.6.8-3+b1 [135 kB]
Get:62 http://httpredir.debian.org/debian/ jessie/main libssh2-1 amd64 1.4.3-4.1+deb8u1 [125 kB]
Get:63 http://httpredir.debian.org/debian/ jessie/main libgomp1 amd64 4.9.2-10 [37.8 kB]
Get:64 http://httpredir.debian.org/debian/ jessie/main libmemcachedutil2 amd64 1.0.18-4 [22.3 kB]
Get:65 http://httpredir.debian.org/debian/ jessie/main libserf-1-1 amd64 1.3.8-1 [52.8 kB]
Get:66 http://httpredir.debian.org/debian/ jessie/main gettext amd64 0.19.3-2 [1240 kB]
Get:67 http://httpredir.debian.org/debian/ jessie/main liberror-perl all 0.17-1.1 [22.4 kB]
Get:68 http://httpredir.debian.org/debian/ jessie/main git amd64 1:2.1.4-2.1+deb8u2 [3262 kB]
Get:69 http://httpredir.debian.org/debian/ jessie/main supervisor all 3.0r1-1 [267 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 35.6 MB in 3s (9398 kB/s)
Selecting previously unselected package init-system-helpers.
(Reading database ... 7774 files and directories currently installed.)
Preparing to unpack .../init-system-helpers_1.22_all.deb ...
Unpacking init-system-helpers (1.22) ...
Selecting previously unselected package cron.
Preparing to unpack .../cron_3.0pl1-127+deb8u1_amd64.deb ...
Unpacking cron (3.0pl1-127+deb8u1) ...
Selecting previously unselected package libgdbm3:amd64.
Preparing to unpack .../libgdbm3_1.8.3-13.1_amd64.deb ...
Unpacking libgdbm3:amd64 (1.8.3-13.1) ...
Selecting previously unselected package libpopt0:amd64.
Preparing to unpack .../libpopt0_1.16-10_amd64.deb ...
Unpacking libpopt0:amd64 (1.16-10) ...
Selecting previously unselected package libasprintf0c2:amd64.
Preparing to unpack .../libasprintf0c2_0.19.3-2_amd64.deb ...
Unpacking libasprintf0c2:amd64 (0.19.3-2) ...
Selecting previously unselected package libgmp10:amd64.
Preparing to unpack .../libgmp10_2%3a6.0.0+dfsg-6_amd64.deb ...
Unpacking libgmp10:amd64 (2:6.0.0+dfsg-6) ...
Selecting previously unselected package libnettle4:amd64.
Preparing to unpack .../libnettle4_2.7.1-5+deb8u1_amd64.deb ...
Unpacking libnettle4:amd64 (2.7.1-5+deb8u1) ...
Selecting previously unselected package libhogweed2:amd64.
Preparing to unpack .../libhogweed2_2.7.1-5+deb8u1_amd64.deb ...
Unpacking libhogweed2:amd64 (2.7.1-5+deb8u1) ...
Selecting previously unselected package libffi6:amd64.
Preparing to unpack .../libffi6_3.1-2+b2_amd64.deb ...
Unpacking libffi6:amd64 (3.1-2+b2) ...
Selecting previously unselected package libp11-kit0:amd64.
Preparing to unpack .../libp11-kit0_0.20.7-1_amd64.deb ...
Unpacking libp11-kit0:amd64 (0.20.7-1) ...
Selecting previously unselected package libtasn1-6:amd64.
Preparing to unpack .../libtasn1-6_4.2-3+deb8u2_amd64.deb ...
Unpacking libtasn1-6:amd64 (4.2-3+deb8u2) ...
Selecting previously unselected package libgnutls-deb0-28:amd64.
Preparing to unpack .../libgnutls-deb0-28_3.3.8-6+deb8u3_amd64.deb ...
Unpacking libgnutls-deb0-28:amd64 (3.3.8-6+deb8u3) ...
Selecting previously unselected package libkeyutils1:amd64.
Preparing to unpack .../libkeyutils1_1.5.9-5+b1_amd64.deb ...
Unpacking libkeyutils1:amd64 (1.5.9-5+b1) ...
Selecting previously unselected package libkrb5support0:amd64.
Preparing to unpack .../libkrb5support0_1.12.1+dfsg-19+deb8u2_amd64.deb ...
Unpacking libkrb5support0:amd64 (1.12.1+dfsg-19+deb8u2) ...
Selecting previously unselected package libk5crypto3:amd64.
Preparing to unpack .../libk5crypto3_1.12.1+dfsg-19+deb8u2_amd64.deb ...
Unpacking libk5crypto3:amd64 (1.12.1+dfsg-19+deb8u2) ...
Selecting previously unselected package libkrb5-3:amd64.
Preparing to unpack .../libkrb5-3_1.12.1+dfsg-19+deb8u2_amd64.deb ...
Unpacking libkrb5-3:amd64 (1.12.1+dfsg-19+deb8u2) ...
Selecting previously unselected package libgssapi-krb5-2:amd64.
Preparing to unpack .../libgssapi-krb5-2_1.12.1+dfsg-19+deb8u2_amd64.deb ...
Unpacking libgssapi-krb5-2:amd64 (1.12.1+dfsg-19+deb8u2) ...
Selecting previously unselected package libidn11:amd64.
Preparing to unpack .../libidn11_1.29-1+deb8u2_amd64.deb ...
Unpacking libidn11:amd64 (1.29-1+deb8u2) ...
Selecting previously unselected package libsasl2-modules-db:amd64.
Preparing to unpack .../libsasl2-modules-db_2.1.26.dfsg1-13+deb8u1_amd64.deb ...
Unpacking libsasl2-modules-db:amd64 (2.1.26.dfsg1-13+deb8u1) ...
Selecting previously unselected package libsasl2-2:amd64.
Preparing to unpack .../libsasl2-2_2.1.26.dfsg1-13+deb8u1_amd64.deb ...
Unpacking libsasl2-2:amd64 (2.1.26.dfsg1-13+deb8u1) ...
Selecting previously unselected package libldap-2.4-2:amd64.
Preparing to unpack .../libldap-2.4-2_2.4.40+dfsg-1+deb8u2_amd64.deb ...
Unpacking libldap-2.4-2:amd64 (2.4.40+dfsg-1+deb8u2) ...
Selecting previously unselected package libsqlite3-0:amd64.
Preparing to unpack .../libsqlite3-0_3.8.7.1-1+deb8u2_amd64.deb ...
Unpacking libsqlite3-0:amd64 (3.8.7.1-1+deb8u2) ...
Selecting previously unselected package libxml2:amd64.
Preparing to unpack .../libxml2_2.9.1+dfsg1-5+deb8u4_amd64.deb ...
Unpacking libxml2:amd64 (2.9.1+dfsg1-5+deb8u4) ...
Selecting previously unselected package perl-modules.
Preparing to unpack .../perl-modules_5.20.2-3+deb8u6_all.deb ...
Unpacking perl-modules (5.20.2-3+deb8u6) ...
Selecting previously unselected package perl.
Preparing to unpack .../perl_5.20.2-3+deb8u6_amd64.deb ...
Unpacking perl (5.20.2-3+deb8u6) ...
Selecting previously unselected package libpython2.7-minimal:amd64.
Preparing to unpack .../libpython2.7-minimal_2.7.9-2+deb8u1_amd64.deb ...
Unpacking libpython2.7-minimal:amd64 (2.7.9-2+deb8u1) ...
Selecting previously unselected package python2.7-minimal.
Preparing to unpack .../python2.7-minimal_2.7.9-2+deb8u1_amd64.deb ...
Unpacking python2.7-minimal (2.7.9-2+deb8u1) ...
Selecting previously unselected package python-minimal.
Preparing to unpack .../python-minimal_2.7.9-1_amd64.deb ...
Unpacking python-minimal (2.7.9-1) ...
Selecting previously unselected package mime-support.
Preparing to unpack .../mime-support_3.58_all.deb ...
Unpacking mime-support (3.58) ...
Selecting previously unselected package libexpat1:amd64.
Preparing to unpack .../libexpat1_2.1.0-6+deb8u3_amd64.deb ...
Unpacking libexpat1:amd64 (2.1.0-6+deb8u3) ...
Selecting previously unselected package libpython2.7-stdlib:amd64.
Preparing to unpack .../libpython2.7-stdlib_2.7.9-2+deb8u1_amd64.deb ...
Unpacking libpython2.7-stdlib:amd64 (2.7.9-2+deb8u1) ...
Selecting previously unselected package python2.7.
Preparing to unpack .../python2.7_2.7.9-2+deb8u1_amd64.deb ...
Unpacking python2.7 (2.7.9-2+deb8u1) ...
Selecting previously unselected package libpython-stdlib:amd64.
Preparing to unpack .../libpython-stdlib_2.7.9-1_amd64.deb ...
Unpacking libpython-stdlib:amd64 (2.7.9-1) ...
Processing triggers for systemd (215-17+deb8u5) ...
Setting up libpython2.7-minimal:amd64 (2.7.9-2+deb8u1) ...
Setting up python2.7-minimal (2.7.9-2+deb8u1) ...
Setting up python-minimal (2.7.9-1) ...
Selecting previously unselected package python.
(Reading database ... 10026 files and directories currently installed.)
Preparing to unpack .../python_2.7.9-1_amd64.deb ...
Unpacking python (2.7.9-1) ...
Selecting previously unselected package libapr1:amd64.
Preparing to unpack .../libapr1_1.5.1-3_amd64.deb ...
Unpacking libapr1:amd64 (1.5.1-3) ...
Selecting previously unselected package libaprutil1:amd64.
Preparing to unpack .../libaprutil1_1.5.4-1_amd64.deb ...
Unpacking libaprutil1:amd64 (1.5.4-1) ...
Selecting previously unselected package libglib2.0-0:amd64.
Preparing to unpack .../libglib2.0-0_2.42.1-1+b1_amd64.deb ...
Unpacking libglib2.0-0:amd64 (2.42.1-1+b1) ...
Selecting previously unselected package libcroco3:amd64.
Preparing to unpack .../libcroco3_0.6.8-3+b1_amd64.deb ...
Unpacking libcroco3:amd64 (0.6.8-3+b1) ...
Selecting previously unselected package librtmp1:amd64.
Preparing to unpack .../librtmp1_2.4+20150115.gita107cef-1_amd64.deb ...
Unpacking librtmp1:amd64 (2.4+20150115.gita107cef-1) ...
Selecting previously unselected package libssh2-1:amd64.
Preparing to unpack .../libssh2-1_1.4.3-4.1+deb8u1_amd64.deb ...
Unpacking libssh2-1:amd64 (1.4.3-4.1+deb8u1) ...
Selecting previously unselected package libcurl3:amd64.
Preparing to unpack .../libcurl3_7.38.0-4+deb8u5_amd64.deb ...
Unpacking libcurl3:amd64 (7.38.0-4+deb8u5) ...
Selecting previously unselected package libcurl3-gnutls:amd64.
Preparing to unpack .../libcurl3-gnutls_7.38.0-4+deb8u5_amd64.deb ...
Unpacking libcurl3-gnutls:amd64 (7.38.0-4+deb8u5) ...
Selecting previously unselected package libgomp1:amd64.
Preparing to unpack .../libgomp1_4.9.2-10_amd64.deb ...
Unpacking libgomp1:amd64 (4.9.2-10) ...
Selecting previously unselected package libicu52:amd64.
Preparing to unpack .../libicu52_52.1-8+deb8u4_amd64.deb ...
Unpacking libicu52:amd64 (52.1-8+deb8u4) ...
Selecting previously unselected package libmemcached11:amd64.
Preparing to unpack .../libmemcached11_1.0.18-4_amd64.deb ...
Unpacking libmemcached11:amd64 (1.0.18-4) ...
Selecting previously unselected package libmemcachedutil2:amd64.
Preparing to unpack .../libmemcachedutil2_1.0.18-4_amd64.deb ...
Unpacking libmemcachedutil2:amd64 (1.0.18-4) ...
Selecting previously unselected package libpng12-0:amd64.
Preparing to unpack .../libpng12-0_1.2.50-2+deb8u2_amd64.deb ...
Unpacking libpng12-0:amd64 (1.2.50-2+deb8u2) ...
Selecting previously unselected package libpq5:amd64.
Preparing to unpack .../libpq5_9.4.9-0+deb8u1_amd64.deb ...
Unpacking libpq5:amd64 (9.4.9-0+deb8u1) ...
Selecting previously unselected package librecode0:amd64.
Preparing to unpack .../librecode0_3.6-21_amd64.deb ...
Unpacking librecode0:amd64 (3.6-21) ...
Selecting previously unselected package libserf-1-1:amd64.
Preparing to unpack .../libserf-1-1_1.3.8-1_amd64.deb ...
Unpacking libserf-1-1:amd64 (1.3.8-1) ...
Selecting previously unselected package libsvn1:amd64.
Preparing to unpack .../libsvn1_1.8.10-6+deb8u4_amd64.deb ...
Unpacking libsvn1:amd64 (1.8.10-6+deb8u4) ...
Selecting previously unselected package libunistring0:amd64.
Preparing to unpack .../libunistring0_0.9.3-5.2+b1_amd64.deb ...
Unpacking libunistring0:amd64 (0.9.3-5.2+b1) ...
Selecting previously unselected package libxslt1.1:amd64.
Preparing to unpack .../libxslt1.1_1.1.28-2+deb8u2_amd64.deb ...
Unpacking libxslt1.1:amd64 (1.1.28-2+deb8u2) ...
Selecting previously unselected package logrotate.
Preparing to unpack .../logrotate_3.8.7-1+b1_amd64.deb ...
Unpacking logrotate (3.8.7-1+b1) ...
Selecting previously unselected package gettext-base.
Preparing to unpack .../gettext-base_0.19.3-2_amd64.deb ...
Unpacking gettext-base (0.19.3-2) ...
Selecting previously unselected package ucf.
Preparing to unpack .../archives/ucf_3.0030_all.deb ...
Moving old data out of the way
Unpacking ucf (3.0030) ...
Selecting previously unselected package curl.
Preparing to unpack .../curl_7.38.0-4+deb8u5_amd64.deb ...
Unpacking curl (7.38.0-4+deb8u5) ...
Selecting previously unselected package gettext.
Preparing to unpack .../gettext_0.19.3-2_amd64.deb ...
Unpacking gettext (0.19.3-2) ...
Selecting previously unselected package liberror-perl.
Preparing to unpack .../liberror-perl_0.17-1.1_all.deb ...
Unpacking liberror-perl (0.17-1.1) ...
Selecting previously unselected package git-man.
Preparing to unpack .../git-man_1%3a2.1.4-2.1+deb8u2_all.deb ...
Unpacking git-man (1:2.1.4-2.1+deb8u2) ...
Selecting previously unselected package git.
Preparing to unpack .../git_1%3a2.1.4-2.1+deb8u2_amd64.deb ...
Unpacking git (1:2.1.4-2.1+deb8u2) ...
Selecting previously unselected package libjs-excanvas.
Preparing to unpack .../libjs-excanvas_0.r3-3_all.deb ...
Unpacking libjs-excanvas (0.r3-3) ...
Selecting previously unselected package libmcrypt4.
Preparing to unpack .../libmcrypt4_2.5.8-3.3_amd64.deb ...
Unpacking libmcrypt4 (2.5.8-3.3) ...
Selecting previously unselected package mercurial-common.
Preparing to unpack .../mercurial-common_3.1.2-2+deb8u3_all.deb ...
Unpacking mercurial-common (3.1.2-2+deb8u3) ...
Selecting previously unselected package mercurial.
Preparing to unpack .../mercurial_3.1.2-2+deb8u3_amd64.deb ...
Unpacking mercurial (3.1.2-2+deb8u3) ...
Selecting previously unselected package python-pkg-resources.
Preparing to unpack .../python-pkg-resources_5.5.1-1_all.deb ...
Unpacking python-pkg-resources (5.5.1-1) ...
Selecting previously unselected package subversion.
Preparing to unpack .../subversion_1.8.10-6+deb8u4_amd64.deb ...
Unpacking subversion (1.8.10-6+deb8u4) ...
Selecting previously unselected package python-meld3.
Preparing to unpack .../python-meld3_1.0.0-1_amd64.deb ...
Unpacking python-meld3 (1.0.0-1) ...
Selecting previously unselected package supervisor.
Preparing to unpack .../supervisor_3.0r1-1_all.deb ...
Unpacking supervisor (3.0r1-1) ...
Processing triggers for systemd (215-17+deb8u5) ...
Setting up init-system-helpers (1.22) ...
Setting up cron (3.0pl1-127+deb8u1) ...
Adding group `crontab' (GID 107) ...
Done.
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
invoke-rc.d: policy-rc.d denied execution of start.
Setting up libgdbm3:amd64 (1.8.3-13.1) ...
Setting up libpopt0:amd64 (1.16-10) ...
Setting up libasprintf0c2:amd64 (0.19.3-2) ...
Setting up libgmp10:amd64 (2:6.0.0+dfsg-6) ...
Setting up libnettle4:amd64 (2.7.1-5+deb8u1) ...
Setting up libhogweed2:amd64 (2.7.1-5+deb8u1) ...
Setting up libffi6:amd64 (3.1-2+b2) ...
Setting up libp11-kit0:amd64 (0.20.7-1) ...
Setting up libtasn1-6:amd64 (4.2-3+deb8u2) ...
Setting up libgnutls-deb0-28:amd64 (3.3.8-6+deb8u3) ...
Setting up libkeyutils1:amd64 (1.5.9-5+b1) ...
Setting up libkrb5support0:amd64 (1.12.1+dfsg-19+deb8u2) ...
Setting up libk5crypto3:amd64 (1.12.1+dfsg-19+deb8u2) ...
Setting up libkrb5-3:amd64 (1.12.1+dfsg-19+deb8u2) ...
Setting up libgssapi-krb5-2:amd64 (1.12.1+dfsg-19+deb8u2) ...
Setting up libidn11:amd64 (1.29-1+deb8u2) ...
Setting up libsasl2-modules-db:amd64 (2.1.26.dfsg1-13+deb8u1) ...
Setting up libsasl2-2:amd64 (2.1.26.dfsg1-13+deb8u1) ...
Setting up libldap-2.4-2:amd64 (2.4.40+dfsg-1+deb8u2) ...
Setting up libsqlite3-0:amd64 (3.8.7.1-1+deb8u2) ...
Setting up libxml2:amd64 (2.9.1+dfsg1-5+deb8u4) ...
Setting up perl-modules (5.20.2-3+deb8u6) ...
Setting up perl (5.20.2-3+deb8u6) ...
update-alternatives: using /usr/bin/prename to provide /usr/bin/rename (rename) in auto mode
Setting up mime-support (3.58) ...
Setting up libexpat1:amd64 (2.1.0-6+deb8u3) ...
Setting up libpython2.7-stdlib:amd64 (2.7.9-2+deb8u1) ...
Setting up python2.7 (2.7.9-2+deb8u1) ...
Setting up libpython-stdlib:amd64 (2.7.9-1) ...
Setting up python (2.7.9-1) ...
Setting up libapr1:amd64 (1.5.1-3) ...
Setting up libaprutil1:amd64 (1.5.4-1) ...
Setting up libglib2.0-0:amd64 (2.42.1-1+b1) ...
No schema files found: doing nothing.
Setting up libcroco3:amd64 (0.6.8-3+b1) ...
Setting up librtmp1:amd64 (2.4+20150115.gita107cef-1) ...
Setting up libssh2-1:amd64 (1.4.3-4.1+deb8u1) ...
Setting up libcurl3:amd64 (7.38.0-4+deb8u5) ...
Setting up libcurl3-gnutls:amd64 (7.38.0-4+deb8u5) ...
Setting up libgomp1:amd64 (4.9.2-10) ...
Setting up libicu52:amd64 (52.1-8+deb8u4) ...
Setting up libmemcached11:amd64 (1.0.18-4) ...
Setting up libmemcachedutil2:amd64 (1.0.18-4) ...
Setting up libpng12-0:amd64 (1.2.50-2+deb8u2) ...
Setting up libpq5:amd64 (9.4.9-0+deb8u1) ...
Setting up librecode0:amd64 (3.6-21) ...
Setting up libserf-1-1:amd64 (1.3.8-1) ...
Setting up libsvn1:amd64 (1.8.10-6+deb8u4) ...
Setting up libunistring0:amd64 (0.9.3-5.2+b1) ...
Setting up libxslt1.1:amd64 (1.1.28-2+deb8u2) ...
Setting up logrotate (3.8.7-1+b1) ...
Setting up gettext-base (0.19.3-2) ...
Setting up ucf (3.0030) ...
Setting up curl (7.38.0-4+deb8u5) ...
Setting up gettext (0.19.3-2) ...
Setting up liberror-perl (0.17-1.1) ...
Setting up git-man (1:2.1.4-2.1+deb8u2) ...
Setting up git (1:2.1.4-2.1+deb8u2) ...
Setting up libjs-excanvas (0.r3-3) ...
Setting up libmcrypt4 (2.5.8-3.3) ...Setting up git (1:2.1.4-2.1+deb8u2) ...Setting up mercurial-common (3.1.2-2+deb8u3) ...Setting up mercurial (3.1.2-2+deb8u3) ...Creating config file /etc/mercurial/hgrc.d/hgext.rc with new versionSetting up python-pkg-resources (5.5.1-1) ...Setting up subversion (1.8.10-6+deb8u4) ...Setting up python-meld3 (1.0.0-1) ...Setting up supervisor (3.0r1-1) ...invoke-rc.d: policy-rc.d denied execution of start.Processing triggers for systemd (215-17+deb8u5) ...Processing triggers for libc-bin (2.19-18+deb8u6) ... ---> 65d1482ecd10

ERROR: (gcloud.app.deploy) Error Response: [2] Build failed;



I got this error ERROR: (gcloud.app.deploy) Error Response: [2] Build failed.


I tried to deploy from my local system and cloud shell also. But I got Build failed.


Plz help me to solve this. Where I did wrong?


Thanks,

Nick (Cloud Platform Support)

unread,
Jan 6, 2017, 4:44:33 PM1/6/17
to Google App Engine
Hey Dhandapani,

This appears to be a request for 1-on-1 assistance with a technical issue specific to your development. This isn't the right forum to look for help on such a question, which is perfectly suited to stackoverflow.com. This forum, on the other hand, is meant for more general high-level discussion of the platform and services, design patterns, etc.

As for how to assist with the issue itself, it seems odd that the build fails without any error message. You might want to try running the command with flags "--verbosity debug" and "--log-http"

Cheers,

Nick
Cloud Platform Community Support

Dhandapani Sattanathan

unread,
Jan 7, 2017, 5:13:34 AM1/7/17
to Google App Engine
Hi Nick,

Thanks for your reply. I 'll check and Post in stackoverflow.com.

Jeff Ye

unread,
Jan 10, 2017, 3:35:11 PM1/10/17
to Google App Engine


On Friday, January 6, 2017 at 2:45:15 AM UTC-5, Dhandapani Sattanathan wrote:

Dhandapani Sattanathan

unread,
Jan 13, 2017, 3:39:22 AM1/13/17
to Google App Engine
Thanks Jeff Ye,


Using this sample I tried already.But PHP ver 5.5 only working. I want to use PHP V 7 also I want to use docker file.
so that I used the runtime:custom.

Is it possible without docker file can use PHP 7 using GAE FE?

I don't want to use Silex Framework.

Plz help me.

Nick (Cloud Platform Support)

unread,
Jan 16, 2017, 1:07:28 PM1/16/17
to Google App Engine
Hey Dhandapani,

You don't need to use any particular framework - there are many ways to write a PHP web app. You might want to check out our example projects or even other random projects on github to see what's out there. Our documentation also has some commentary on the example projects I just linked.

Now, as for your question about using PHP 7 on App Engine without using the Flexible Environment (Custom Runtimes), you're asking whether the App Engine standard environment supports PHP 7. It supports only PHP 5.5. You'll need to use a Dockerfile and a custom image to run PHP 7.

The good thing about the Flexible Environment is that it doesn't have any of the sandbox runtime restrictions that the Standard Environment has, so you are basically unlimited in your choice of framework and the type of actions your code can execute.

Let me know if you have any more questions and I'll be happy to help!


Cheers,

Nick
Cloud Platform Community Support

Dhandapani Sattanathan

unread,
Jan 17, 2017, 1:59:52 AM1/17/17
to Google App Engine

Dear Nick,

Thanks for your reply.

I want to use PHP 7 In App Engine Flex Custom Runtime Only.I know the fact very well App Engine standard environment doesn’t support version higher than PHP 5.6.

So that only, we tried using a Dockerfile and a custom image to run PHP 7.

But I got issue ERROR: (gcloud.app.deploy) Error Response: [2] Build failed;

My question is, how to install PHP 7 in Flexible environment using a Dockerfile. I don't need any frameworks pre-installed with the Docker image. All I need is to install PHP 7 in Custom runtime and start developing my apps on top of PHP 7. All of your examples on how to install PHP 7 in custom runtime in G Documentation is not helping us. We tried all samples from  GitHub, your site documentations, but of no use. Please at least help us to provide with the exact Dockerfile to install PHP 7, we are breaking our heads and really stuck for the past 2 months.

If there is no support, how we can make things to go forward and recommend your Google products to our customers? In this regard, we strongly seek your support many times, but never once we got reply from your side. I hope you will help this time at least for us, so we can start deploying lot of apps in GAE Custom runtime.


Plz Dear Nick, plz help us. and thanks in advance.

Cheers,

SN

Nick (Cloud Platform Support)

unread,
Jan 17, 2017, 9:28:14 AM1/17/17
to Google App Engine
Hey Dhandapani,

I'll be happy to help with this. 

If you see a build failure, you should be able to view more error messages if you run the gcloud command with the flag "--verbosity debug". You might also consider checking in the Cloud Console Logs Viewer, selecting "Container Builder" as the source to read logs from. These should both provide more insight into why the build fails.

Fundamentally, since we don't offer a custom image which is ready to serve PHP 7 applications, you'll need to build the container from a more basic image. You can find examples online which use nginx as the actual web server program [1] [2], sending requests it receives to the PHP 7 runtime and scripts you've written to actually process the request and return a response. By experimenting with what's out there already you should be able to get a working PHP 7 container built.

Feel free to reply here if you have any more questions, and I'll be glad to help.


Cheers,

Nick
Cloud Platform Community Support 

...
Message has been deleted

Dhandapani Sattanathan

unread,
Jan 22, 2017, 11:45:39 PM1/22/17
to Google App Engine

Dear Nick,

Thanks for your help. Appreciate it. I hope I am too close to install the PHP7 in Flex env.

I tried using these [1], [2] url references given by you.

Method 1, Method 2 & Method 3 - The config files content and Gcloud Shell commands & output are updated in this spreadsheet for your reference, so you understand well what are the steps we performed.

Is there any file or need to change in this sample?

I checked the log, but I can’t find what is wrong/error there?

Please help me to fix this. Should there be any port issue, GAE user issue, or my GAE environment issue or configuration issue? I just can’t understand and going crazy. Worst case we can give access for you to take a look or to check or to run the Docker in our GAE?I feel we have a silly issue somewhere else GAE FE environment has an issue of dockerfile?

Plz kindly help.

Cheers,

Dhandapani.

Nick (Cloud Platform Support)

unread,
Jan 24, 2017, 4:03:30 PM1/24/17
to Google App Engine
Hey Dhandapani,

In all cases, the app deployed properly. In cases 2 & 3, you should check the logs of the application (make sure to view all logs not just request_log or stdout) in the Cloud Console. That will likely give you some clues as to what is going on. It's unlikely to be a port issue, since in both cases it seems that the app received the request. If for method 3, you have a port error, the steps should be pretty straightforward of what to check - is the container exposing port 8080, and if so, is the app inside the container listening on 8080.
Let me know if you have any questions after looking into the logs,


Cheers,

Nick
Cloud Platform Community Support

Dhandapani Sattanathan

unread,
Jan 27, 2017, 6:15:07 AM1/27/17
to Google App Engine

Dear Nick,

Thanks for your real help and supporting us. We really need to get this up and running soon, as we have to show it to our client. Hope we 'll settle this sooner. Really losing patience.

Method 2:

I checked all logs I could not find any clues.

I saw the below message in my Container registry.huh

Registry location: us.gcr.io

On 2/15/17, Container Registry will deprecate Docker Registry v1 API, client versions 1.8 and lower, and non-standard GCR buckets.

I checked my Docker ver is Docker version 1.11.2, build b9f10c9.

Also, I checked my API manager, there Docker v1 API only available.

Is this blocking GAE FE PHP 7?

Method 3:

I checked all logs. I'm using Debian 8, But Dockerfile  [2] is Installing CentOS.

Why should I install CentOS, Remy….? Is that necessary, coz I am running Debian OS. Am I running the correct Dockerfile for Debian?

Also I saw the logger. There I got this issue

[error] 32#32: *1765 connect() failed (111: Connection refused) while connecting to upstream, client: 130.211.1.216, server: , request: "GET /_ah/health HTTP/1.1", upstream: "http://172.18.0.2:8080/_ah/health", host: "10.128.0.2"

Don’t know why connect() failed.

Both Logger details I updated in Log[2], Log[3].

Cheers,
Dhandapani
...

Nick (Cloud Platform Support)

unread,
Jan 27, 2017, 3:28:26 PM1/27/17
to Google App Engine
Hey Dhandapani,

For the message about "client version 1.8 and lower", this doesn't refer to Docker as Docker's version numbers have not gone that high. That won't be the problem with the deployment for "method 2".

Are you sure that the app is listening properly on 8080? You can try building the container on your local machine, running it using docker, and then going inside the container to confirm. Is it possible that it's not listening or responding to any requests on /_ah/health?

As a workaround if you have a deadline and cannot get your app deployed to Flexible Environment, you might consider simply hosting it on Compute Engine for now, as there you have complete control over the machine. 


Cheers,

Nick
Cloud Platform Community Support

 

Dhandapani Sattanathan

unread,
Jan 30, 2017, 11:53:18 PM1/30/17
to Google App Engine

Hey Nick,


Thanks for your great support.

Here is my local copy [4] using dockerfile, it’s working fine in local.

I updated all files which i used to deploy in my  local environment and its output. Also, gave the GAE deployment success build output . But still it throws the same error, as you can see in the Sheet under GAE FE.


Plz refer this [4]. We still are insisted to use Flexible env  with PHP 7. I tried many methods. But breaking heads to make it work in GAE, although its working fine in our local. We need the AUTO SCALABILITY feature of GAE, so we don't wish to use GCE, as we already use GCE for other purposes. Our goal is to use GAE Flex Env only for now.

I think we strongly suspect, there is an issue in our Flex environment , can you have a look in our Project, so we can share our project ID to you. I think it ll take you just few mins to check our environment. It is becoming beyond tedious to break our heads to settle this issue, where adequate documentation is also missing for us to be guided.

Please if you can help us, we can quickly focus on creating and deploying as many PHP 7 Apps. Our goal here is to make use of the Flex env capabilities and not get stuck like this even before we start with.

Kindly plz help us Nick.. Thanks for your support again.

Cheers,

Dhandapani

Dhandapani Sattanathan

unread,
Feb 3, 2017, 12:21:27 AM2/3/17
to Google App Engine
Hey Nick,


Plz reply
...

Nick (Cloud Platform Support)

unread,
Feb 3, 2017, 12:15:20 PM2/3/17
to google-a...@googlegroups.com
Hey Dhandapani,

It appears that there have been some lost messages in the progress of this thread that I'd like to bring back to the foreground:

1. If you deploy the application successfully, and you have instances corresponding to them visible in the Console, then you can rest assured that the problem is not in deployment but in serving.

You'll need to debug the problem on the instance using a combination of various possible kinds of investigation:

* Checking the logs in the Cloud Console (be sure to check all log types, not just stdout, stderr, syslog, but also request_log -- all log types should be checked)

* Checking the instance's serial console output for possible errors (in the Console, click on the VM instance to view its details, then ctrl+f "serial" and you'll see a link to the serial console output)

* SSH into the instance and then user docker to get inside the app container:

sudo docker exec -it gaeapp /bin/bash

* Once you're inside the app container, you can check /var/log for any logs that might not report to the Console (this shouldn't generally happen), you can check which ports are open, whether the language runtime process is running properly, etc.  

2. If the application fails to deploy, you should test whether you can build and run the docker container on your own machine (not using gcloud, but purely using docker)

* From the application directory where Dockerfile is, build the Dockerfile into an image:

sudo docker built -t myapp .

* Then run the image you built ("myapp") and link its port 8080 to 8080 on your machine:

sudo docker run -p 127.0.0.1:8080:8080 --name myapp -t myapp

Then you can direct requests to the app by running a simple request to 127.0.0.1:8080. Be sure to run docker stop on the container when you're done testing.

You can look in the container itself while it's running using the same syntax you used in production:

sudo docker exec -it myapp /bin/bash


Let me know how these steps go, and what you find. I'll be happy to assist further.


Cheers,

Nick
Cloud Platform Community Support


...

Takashi Matsuo

unread,
Feb 10, 2017, 1:18:44 PM2/10/17
to Google App Engine

Hi Dhandapani,

FWIW, we've built and been maintaining a Docker image for running PHP application on Google App Engine Flexible Environment.

The Cloud SDK uses this image under the cover when you specify env:flex and runtime:php in your app.yaml.
For more details, please refer to our documentation (just published yesterday)

The PHP support on App Engine Flexible Environment is still Alpha, we're working on the Beta launch.

Thanks,

On Fri, Feb 3, 2017 at 9:15 AM 'Nick (Cloud Platform Support)' via Google App Engine <google-a...@googlegroups.com> wrote:
Hey Dhandapani,

It appears that there have been some lost messages in the progress of this thread that I'd like to bring back to the foreground:

1. If you deploy the application successfully, and you have instances corresponding to them visible in the Console, then you can rest assured that the problem is not in deployment but in serving.

You'll need to debug the problem on the instance using a combination of various possible kinds of investigation:

* Checking the logs in the Cloud Console (be sure to check all log types, not just stdout, stderr, syslog, but also request_log -- all log types should be checked)

* Checking the instance's serial console output for possible errors (in the Console, click on the VM instance to view its details, then ctrl+f "serial" and you'll see a link to the serial console output)

* SSH into the instance and then user docker to get inside the app container:

sudo docker exec -it gaeapp /bin/bash

* Once you're inside the app container, you can check /var/log for any logs that might not report to the Console (this shouldn't generally happen), you can check which ports are open, whether the language runtime process is running properly, etc.  

2. If the application fails to deploy, you should test whether you can build and run the docker container on your own machine (not using gcloud, but purely using docker)

* From the application directory where Dockerfile is, build the Dockerfile into an image:

sudo docker built -t myapp .

* Then run the image you built ("myapp") and link its port 8080 to 8080 on your machine:

sudo docker run -p 127.0.0.1:8080:8080 --name myapp -t myapp

Then you can direct requests to the app by running a simple request to 127.0.0.1:8080. Be sure to run docker stop on the container when you're done testing.

You can look in the container itself while it's running using the same syntax you used in production:

sudo docker exec -it gaeapp /bin/bash
--
-- Takashi

Dhandapani Sattanathan

unread,
Feb 16, 2017, 9:09:22 AM2/16/17
to Google App Engine

Dear Nick, Takashi

Thanks Nick for your support so long.

A great thanks to Takashi for his post, while we were suffering to install PHP V7 in FE for the past 2 months.

We finally deployed the PHP 7 FE successfully, at last only after the reply of Takashi on latest documentation launch for PHP 7 FE runtime support and the Base image(PHP 7) Dockerfile provided by Google in GitHub link.


It would all have been very easy for us not to waste 2 months time, had Google released this official PHP 7 runtime support in the Flexible environment. Lack of all this earlier lead to us for this delay. Of course, we understand on the term ‘ALPHA’ launch of the FE.


Thanks,

Dhandapani
Reply all
Reply to author
Forward
0 new messages