App Engine灵活环境-在映像生成时跳过Dockerfile包安装

App Engine灵活环境-在映像生成时跳过Dockerfile包安装,docker,google-app-engine,google-cloud-platform,app-engine-flexible,Docker,Google App Engine,Google Cloud Platform,App Engine Flexible,在App Engine flexible环境中构建自定义运行时时,我尝试在其中安装软件包的Dockerfile中的行似乎被跳过。具体而言,这两项: RUN add-apt-repository ppa:ubuntugis/ppa RUN sudo apt-get install -y gdal-bin 终端显示gcloud app deploy命令从拉动python运行时开始,然后跳过对Dockerfile的处理,直到这一行: RUN virtualenv /env -p python3.7

在App Engine flexible环境中构建自定义运行时时,我尝试在其中安装软件包的Dockerfile中的行似乎被跳过。具体而言,这两项:

RUN add-apt-repository ppa:ubuntugis/ppa

RUN sudo apt-get install -y gdal-bin
终端显示gcloud app deploy命令从拉动python运行时开始,然后跳过对Dockerfile的处理,直到这一行:

RUN virtualenv /env -p python3.7
这是我的全部文件。当应用程序尝试启动时失败,因为它找不到我尝试安装的GDAL软件包

FROM ubuntu:bionic


RUN add-apt-repository ppa:ubuntugis/ppa

RUN sudo apt-get install -y gdal-bin


# Create a virtualenv for dependencies. This isolates these packages from
# system-level packages.
# Use -p python3 or -p python3.7 to select python version. Default is version 2.
RUN virtualenv /env -p python3.7



# Setting these environment variables are the same as running
# source /env/bin/activate.
ENV VIRTUAL_ENV /env
ENV PATH /env/bin:$PATH

# Copy the application's requirements.txt and run pip to install all
# dependencies into the virtualenv.
RUN pip install -r requirements.txt

# Add the application source code.
ADD . /


# Run a WSGI server to serve the application. gunicorn must be declared as
# a dependency in requirements.txt.
CMD gunicorn -b :$PORT main:app

根据您的
Dockerfile
,云构建不应该拉动Python运行时,而应该拉动
ubuntu:bionic
图像。当您部署非定制flex应用程序时,云构建将拉动Python运行时

我认为您需要在app.yaml文件中设置正确的运行时,如下所示:

runtime: custom
env: flex
...
而不是
运行时:python

另外,在尝试使用您的
Dockerfile
进行测试后,我注意到了几个问题:

  • 似乎
    addaptrepository
    ubuntu:bionic
    图像上默认不可用,我必须手动安装它
  • 不能在Dockerfile中运行sudo
因此,您的Dockerfile将如下所示:

FROM ubuntu:bionic

RUN apt-get update && apt-get install software-properties-common -y
RUN add-apt-repository ppa:ubuntugis/ppa

RUN apt-get install -y gdal-bin
...

docker构建期间的步骤日志中有什么内容?