LoginSignup
0
0

More than 1 year has passed since last update.

Google Cloud SDK のエミュレータをDockerで使う時に死ぬほどハマった

Posted at

すげーアホなことで2時間ほどハマりました。忘れそうなので備忘録として残しておきます。

gcloud を使って firestore のエミュレータを以下のような docker-compose 設定で Docker コンテナ内から起動するとうまく接続できません。

version: "3.9"
services:
  firestore:
    platform: linux/amd64
    image: gcr.io/google.com/cloudsdktool/cloud-sdk:352.0.0-emulators
    ports:
        - 6641:6641
    command:
      - gcloud
      - beta
      - emulators
      - firestore
      - start
      - --host-port=localhost:6641
  backend:
    platform: linux/amd64
    build: ./backend
    depends_on:
      - firestore
    environment:
      - FIRESTORE_EMULATOR_HOST=firestore:6641
    ports:
      - 6640:6640

原因は --host-port で指定しているホストが localhost だと docker-compose のデフォルトネットワークにバインドしてくれないからで、ここをサービス名である firestore にすると通るようになります。

version: "3.9"
services:
  firestore:
    platform: linux/amd64
    image: gcr.io/google.com/cloudsdktool/cloud-sdk:352.0.0-emulators
    ports:
        - 6641:6641
    command:
      - gcloud
      - beta
      - emulators
      - firestore
      - start
      - --host-port=firestore:6641
  backend:
    platform: linux/amd64
    build: ./backend
    depends_on:
      - firestore
    environment:
      - FIRESTORE_EMULATOR_HOST=firestore:6641
    ports:
      - 6640:6640

HTTPサーバとかだと普通に localhost:5000 とかにバインドするから全然気にしてなかった......

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0