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

本地开发Cloud Run应用无法通过Cloud SQL Auth Proxy连接Cloud SQL

解决本地Cloud Run(Node.js)连接Cloud SQL PostgreSQL失败的问题

问题分析

你在终端用Cloud SQL Auth Proxy能正常连接数据库,但本地Cloud Run容器里的代码无法连接,两种方式失败的原因分别是:

  • 实例连接名方式:容器内没有挂载Cloud SQL的Unix套接字路径,主机上的/cloudsql目录无法被容器访问,导致ENOENT错误。
  • 本地主机端口方式:容器内的127.0.0.1指向容器自身的localhost,而非运行Auth Proxy的主机,所以出现ECONNREFUSED错误。

解决方案

方案1:让容器访问主机上的Auth Proxy

适合已经手动在主机启动了Cloud SQL Auth Proxy的场景:

  1. 确保Auth Proxy监听允许外部访问的地址,启动命令示例:
    ./cloud-sql-proxy --address 0.0.0.0 --port 5432 你的实例连接名
    
  2. 修改代码的连接配置:
    • 若使用Docker Desktop(Windows/macOS),将host改为host.docker.internal:
      const pg = require('knex')({
        client: 'pg',
        connection: {
          user: '你的数据库用户名', 
          password: '你的数据库密码',
          database: '你的数据库名',
          host: 'host.docker.internal',
          port: 5432,
        },
        debug: true,
      });
      
    • 若使用Linux环境,启动本地Cloud Run时添加--network="host"参数,让容器共享主机网络,此时代码里用127.0.0.1即可连接。

方案2:利用Cloud Code自动集成Auth Proxy

让Cloud Code在启动本地Cloud Run时自动管理Auth Proxy,无需手动启动:

  1. 确认Cloud SQL实例已在Cloud Run服务的连接配置中(GCP控制台或Cloud Code的服务配置里已添加)。
  2. 保持代码使用实例连接名的配置不变:
    const pg = require('knex')({
      client: 'pg',
      connection: {
        user: '你的数据库用户名', 
        password: '你的数据库密码',
        database: '你的数据库名',
        host: '/cloudsql/你的实例连接名',
      },
      debug: true,
    });
    
  3. 修改VS Code的Cloud Run启动配置(.vscode/launch.json),添加cloudsqlInstances字段:
    {
      "configurations": [
        {
          "type": "cloudcode.cloudrun",
          "name": "Run on Cloud Run Emulator",
          "request": "launch",
          "service": "你的服务名称",
          "image": "你的镜像名称",
          "cloudsqlInstances": ["你的实例连接名"]
        }
      ]
    }
    
  4. 重新启动本地Cloud Run服务,Cloud Code会自动启动Auth Proxy并将套接字挂载到容器的/cloudsql目录,此时代码即可正常连接。

额外检查项

  • 确认本地已通过gcloud auth login完成身份验证,且账号拥有Cloud SQL实例的访问权限。
  • 核对代码中的用户名、密码、数据库名,确保和终端psql命令中使用的一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 12:10:45