Docker 開発環境の中から GCP サービスへの認証を通すかんたんなやり方

2pt   2018-09-14 21:32
IT技術情報局

GCP のサービスへの認証は、特に指定しない限り Application Default Credentials (ADC) が使用されます。

これは環境変数 GOOGLE_APPLICATION_CREDENTIALS に認証鍵の JSON ファイルパスを入れるという方法です。
ここに正しい鍵ファイルを指定しておけば、基本的に GCP の API は特別な設定なしですぐに使うことができます。

コンテナ内で認証を通すには…

しかし、アプリの実行を Docker コンテナの中でやりたい場合どうでしょうか?
コンテナの外側の環境変数はそのまま引き継がれることはないので、コンテナ内では認証が通らなくなってしまいます。

だからといって、認証鍵のファイルは機密情報なのでリポジトリに含めるのは避けたいところです。

68747470733a2f2f71696974612d696d6167652d

docker-compose で解決する

dokcer-compose の機能をつかって、外側のマシンにある GOOGLE_APPLICATION_CREDENTIALS をそのままコンテナ内に持っていくことができます!

  • environment: でコンテナ内にも GOOGLE_APPLICATION_CREDENTIALS をつくる(値は適当に /key.json とかでOK)
  • volumes: で外側の GOOGLE_APPLICATION_CREDENTIALS のファイルを内側の /key.json にマウントする
version: '3.6' services: app: ... environment: GOOGLE_APPLICATION_CREDENTIALS: /key.json volumes: - ${GOOGLE_APPLICATION_CREDENTIALS}:/key.json:ro

68747470733a2f2f71696974612d696d6167652d

Source: Dockerタグが付けられた新着投稿

   ITアンテナトップページへ
情報処理/ITの話題が沢山。