如何在docker build中运行gcloud

如何在docker build中运行gcloud,docker,gcloud,Docker,Gcloud,我正在尝试构建一个自定义docker映像,以便在运行于GAE的django web应用程序上运行测试和迁移。为此,我们需要使用云SQL进行身份验证。这需要gcloud sdk+云SQL代理的组合,但是,在docker构建-t MY_IMAGE.期间,我收到此错误/bin/sh:1:gcloud:not found。如何在构建期间运行gcloud 这是Dockerfile: FROM gcr.io/google-appengine/python LABEL python_version pyth

我正在尝试构建一个自定义docker映像,以便在运行于GAE的django web应用程序上运行测试和迁移。为此,我们需要使用云SQL进行身份验证。这需要gcloud sdk+云SQL代理的组合,但是,在
docker构建-t MY_IMAGE.
期间,我收到此错误
/bin/sh:1:gcloud:not found
。如何在构建期间运行gcloud

这是Dockerfile:

FROM gcr.io/google-appengine/python

LABEL python_version python3.5

# Create a virtualenv for dependencies. This isolates these packages from
# system-level packages.
RUN virtualenv --no-download /env -p python3.5

# 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.
ADD requirements.txt /app/requirements.txt
RUN pip install -r /app/requirements.txt

# Install Curl
RUN apt-get update; apt-get install curl

# Add GCloud SDK
RUN curl -o /tmp/google-cloud-sdk.tar.gz https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-155.0.0-linux-x86_64.tar.gz
RUN tar -xvf /tmp/google-cloud-sdk.tar.gz -C /tmp/
RUN /tmp/google-cloud-sdk/install.sh -q
RUN /bin/bash -c "source /tmp/google-cloud-sdk/path.bash.inc"

# Authenticate GCloud service account
RUN gcloud auth activate-service-account --key-file $credential

# Add and permission Cloud Proxy
RUN wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
RUN chmod +x cloud_sql_proxy
RUN mkdir /cloudsql; chmod 777 /cloudsql

# Run Cloud Proxy
RUN ./cloud_sql_proxy -dir=/cloudsql &

# Add the application source code.
ADD . /app

# Run migrations
RUN python manage.py migrate

# Run tests
# RUN python manage.py test

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

看看这是否有帮助,谢谢塔伦。实际上,我们发现无法从映像运行代理,因为连接中断,所以我们将迁移和测试命令移动到部署。