dockerコンテナから gcloud
コマンドを使うことでGCEの操作を行う事ができますが、そのためにはログイン認証をする必要があったりして、いまいち自動化の恩恵に預かれません。
一度どこかで gcloud auth login
認証を行って、~/.config/gcloud
の中から ./credentials
とapplication_default_credentials.json
をコピーして配置してあげれば大丈夫なようです。
以下、Google cloud sdkのインストールとクレデンシャルの配置を行うDockerfile
の例
RUN apt-get update && apt-get install -y curl python
RUN curl https://sdk.cloud.google.com | bash
ENV CONFIG /root/.config/gcloud
ENV PATH /root/google-cloud-sdk/bin:$PATH
COPY ./credentials $CONFIG/credentials
COPY ./application_default_credentials.json $CONFIG/application_default_credentials.json
RUN gcloud config set account <GCE account email>
RUN gcloud config set project <GCE project name>
当然ながら、このimageをpublicなリポジトリに公開してはいけません。
セキュアなプライベートリポジトリでの運用が必須ですね。