Sou*_*zal 0 google-cloud-spanner google-cloud-spanner-emulator
我正在尝试设置一个启动云扳手并初始化它的 Docker 容器。
使用谷歌提供的官方 docker 镜像:gcr.io/cloud-spanner-emulator/emulator
我希望在启动时自动初始化扳手。
我用 docker 文件尝试了各种方法,总结一下:
FROM gcr.io/cloud-spanner-emulator/emulator
RUN some gcloud command after to initialize local spanner db
Run Code Online (Sandbox Code Playgroud)
但是,由于缺乏有关该映像如何工作的信息,因此很难确定是否可以在每次容器启动时对其进行初始化。
我重复一遍,我需要在容器安装时自动运行它。它将建设管道。
有没有办法用这个提供的 docker 镜像来做到这一点?或者我应该创建自己的 dockerfile 通过 gcloud cli 安装模拟器?
这是一个 docker 文件示例,允许启动 docker 模拟器并使用一些自定义 gcloud 命令进行初始化
FROM google/cloud-sdk:slim
RUN apt-get install -y google-cloud-sdk google-cloud-sdk-spanner-emulator
COPY ./start_spanner.bash start_spanner.bash
COPY ./schema.ddl schema.ddl
CMD ./start_spanner.bash
Run Code Online (Sandbox Code Playgroud)
这是文件的示例内容start_spanner.bash
。
set -m
。#!/bin/bash
set -m
gcloud beta emulators spanner start --host-port=0.0.0.0:9010 &
# configure gcloud cli to connect to emulator
gcloud config set auth/disable_credentials true
gcloud config set project someproject
gcloud config set api_endpoint_overrides/spanner http://localhost:9020/
# create spanner instance
gcloud spanner instances create someinstance \
--config=emulator-config \
--description="Test Instance" \
--nodes=1
# create spanner database with the given schema
gcloud spanner databases create somedb \
--instance=someinstance \
--ddl-file=schema.ddl
fg %1
Run Code Online (Sandbox Code Playgroud)
该文件schema.ddl
只是您的 Spanner ddl,用于根据 Spanner 的文档运行以在模拟器中创建表。
归档时间: |
|
查看次数: |
1810 次 |
最近记录: |