google-cloud-platform - 如何将 Java REST 应用程序迁移到 Google Cloud
问题描述
我有 REST API Java 应用程序并希望将其移至云端。
但我不明白使用哪个教程。我已经在 Jib 制作的 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
解决方案
我们通过 Cloud SQL Proxy docker 镜像来做到这一点:https ://cloud.google.com/sql/docs/mysql/connect-docker
- 启用 Cloud SQL Admin API。
- 在 Compute Engine 实例或客户端计算机上安装 mysql 客户端(如果尚未安装)。
- 如果需要,安装 Docker 客户端 4.从 Google Container Registry 安装代理 Docker 映像。
- 如果您在本地计算机(不是 Compute Engine 实例)上运行 Proxy Docker 映像,或者您的 Compute Engine 实例没有适当的范围,请创建一个 Google Cloud Platform 服务帐户。
- 转到 Google Cloud Console 中的 Cloud SQL 实例页面。
- 选择实例以打开其实例详细信息页面并复制实例连接名称。
- 启动代理。
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
- 启动客户端
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
推荐阅读
- css - Sass:选择器的占位符行为
- jenkins - .npm 目录消耗 149+ GB 的磁盘空间
- asp.net - 从不可编辑的 asp.net 后面的代码创建表
- python - 模拟时修补类变量时出现AttributeError
- angular - 无法以角度加载延迟加载组件中的公共模块,请参阅说明
- rust - 检索 scan() 迭代器中的状态?
- python - 如何使多个 Scrapy Spiders 周期性和动态化?
- bash - 用于启动 ec2 实例和 ssh 并在第二个命令中引入延迟的 shell 脚本
- javascript - vue-server-renderer:窗口/文档未在第三个包中定义
- java - 具有嵌入式 H2GIS 的 Spring Boot 应用程序 - 初始化引发 SQL 语法错误