首页 > 解决方案 > 如何将 Java REST 应用程序迁移到 Google Cloud

问题描述

我有 REST API Java 应用程序并希望将其移至云端。

但我不明白使用哪个教程。我已经在 J​​ib 制作的 Container Registry 中有 docker 映像,并希望将它与一些云数据库(Cloud SQL/Spanner)连接起来。

如何将此连接道具更改为云?

db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://localhost:3306/db
db.username=usrname
db.password=pswd
db.entity.package = com.example.model

标签: google-cloud-platformgoogle-cloud-sql

解决方案


我们通过 Cloud SQL Proxy docker 镜像来做到这一点:https ://cloud.google.com/sql/docs/mysql/connect-docker

  1. 启用 Cloud SQL Admin API。
  2. 在 Compute Engine 实例或客户端计算机上安装 mysql 客户端(如果尚未安装)。
  3. 如果需要,安装 Docker 客户端 4.从 Google Container Registry 安装代理 Docker 映像。
  4. 如果您在本地计算机(不是 Compute Engine 实例)上运行 Proxy Docker 映像,或者您的 Compute Engine 实例没有适当的范围,请创建一个 Google Cloud Platform 服务帐户。
  5. 转到 Google Cloud Console 中的 Cloud SQL 实例页面。
  6. 选择实例以打开其实例详细信息页面并复制实例连接名称。
  7. 启动代理。
docker run -d \
  -v <PATH_TO_KEY_FILE>:/config \
  -p 127.0.0.1:3306:3306 \
  gcr.io/cloudsql-docker/gce-proxy:1.16 /cloud_sql_proxy \
  -instances=<INSTANCE_CONNECTION_NAME>=tcp:0.0.0.0:3306 - credential_file=/config
  1. 启动客户端 mysql -u <USERNAME> -p --host 127.0.0.1

然后使用连接

db.driver=com.mysql.cj.jdbc.Driver
db.url=jdbc:mysql://127.0.0.1:3306/db
db.username=usrname
db.password=pswd
db.entity.package = com.example.model

推荐阅读