You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过CloudBuild部署的CloudRun实例无法通过Unix套接字访问CloudSQL

问题排查与解决方案

1. 修正WordPress数据库主机配置

你当前配置的WORDPRESS_DB_HOST=:/cloudsql不符合Unix套接字的路径规范,正确的套接字路径需要包含完整的Cloud SQL连接名,修改为:

- '--set-env-vars'
- 'WORDPRESS_DB_HOST=:/cloudsql/${PROJECT_ID}:${_REGION}:${_MYSQL_INSTANCE}'

该配置错误不会导致套接字不生成,但会导致后续数据库连接失败,需提前修正。

2. 删除Dockerfile中预创建/cloudsql目录的逻辑

如果你的容器镜像在构建时通过mkdir等命令手动创建了/cloudsql目录,会覆盖Cloud Run部署时自动挂载的Cloud SQL代理卷,导致套接字无法生成。直接删除Dockerfile中所有操作/cloudsql目录的语句即可,该目录由Cloud Run在部署阶段自动创建挂载。

3. 确认IAM权限绑定正确

你当前为Compute Engine默认服务账号授予了roles/cloudsql.client权限,需确认权限绑定的账号和Cloud Run运行时使用的服务账号一致:

  • 若未自定义Cloud Run服务账号,默认使用的是${PROJECT_NUMBER}-compute@developer.gserviceaccount.com,检查你绑定权限的账号拼写是否完整正确
  • 若使用自定义服务账号运行Cloud Run,需要为对应的自定义账号授予roles/cloudsql.client权限

4. 验证部署参数是否生效

部署完成后执行以下命令验证配置是否生效:

gcloud run services describe <你的Cloud Run服务名> --region <部署区域>

查看输出中的cloudsqlInstances字段是否存在你指定的Cloud SQL连接名,若不存在则检查cloudbuild.yaml中--add-cloudsql-instances参数的变量替换是否正常,可直接写死连接名测试验证变量解析逻辑。

5. 核查Cloud SQL实例状态

你提供的Cloud SQL实例详情中公网IPv4已开启、实例状态为RUNNABLE,该项无问题,若以上步骤仍未解决,可确认Cloud SQL实例没有配置额外的IP白名单限制(Cloud SQL代理连接不受IP白名单限制,该项仅影响直连场景)。


内容的提问来源于stack exchange,提问作者Tal Hazan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 23:09:03