2
I'm migrating my standard environment app to flexible environment in GAE and facing issues.

app.yaml 片段

runtime: custom
env: flex
api_version: 1
threadsafe: true

handlers:

- url: /.*
  script: main.app

Dockerfile

FROM gcr.io/google_appengine/python-compat-multicore
RUN apt-get update -y
RUN apt-get install -y python-pip build-essential libssl-dev libffi-dev python-dev libxml2-dev libxslt1-dev xmlsec1

RUN apt-get install -y curl unzip
RUN curl https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.tar.gz > /tmp/google-cloud-sdk.tar.gz
RUN mkdir -p /usr/local/gcloud
RUN tar -C /usr/local/gcloud -xvf /tmp/google-cloud-sdk.tar.gz
RUN /usr/local/gcloud/google-cloud-sdk/install.sh

RUN curl https://storage.googleapis.com/appengine-sdks/featured/google_appengine_1.9.40.zip > /tmp/google_appengine_1.9.40.zip
RUN unzip /tmp/google_appengine_1.9.40.zip -d /usr/local/gae

ENV PATH $PATH:/usr/local/gcloud/google-cloud-sdk/bin
ENV PATH $PATH:/usr/local/gae/google_appengine/
COPY . /app
WORKDIR /app

ENV MODULE_YAML_PATH app.yaml

RUN pip install -r requirements.txt

运行 gcloud app deploy 时出现问题(堆栈跟踪)

 File "/env/local/lib/python2.7/site-packages/google/appengine/ext/vmruntime/vmconfig.py", line 63, in BuildVmAppengineEnvConfig
    escaped_appid = appid.replace(':', '_').replace('.', '_')
AttributeError: 'NoneType' object has no attribute 'replace'

我在 dockerfile 中缺少什么吗?应该进行哪些其他配置更改以使应用程序级代码更改不多。是否建议在柔性环境中使用 webapp2

4

1 回答 1

0

我们正在处理更好的错误消息,但这是因为您正在尝试使用 python-compat-multicore 运行时。env:flex不支持该运行时,并且已被弃用。我们要求人们按照本指南升级到 runtime:python:

https://cloud.google.com/appengine/docs/flexible/python/migrating

于 2016-11-30T06:12:03.510 回答