Docker 尝试连接到具有容器优化操作系统的VM上的代理SQL时发生连接丢失错误
对于具有数据融合的项目,我需要使用代理SQL创建一个虚拟机。为了测试这个代理,我用MariaBD创建了第二个实例,但是我无法与代理建立连接。以下是我所拥有的: 运行在容器优化操作系统上的VM,具有静态内部IP,无外部IP。此VM正在使用以下启动脚本运行:Docker 尝试连接到具有容器优化操作系统的VM上的代理SQL时发生连接丢失错误,docker,google-cloud-platform,database-connection,proxysql,Docker,Google Cloud Platform,Database Connection,Proxysql,对于具有数据融合的项目,我需要使用代理SQL创建一个虚拟机。为了测试这个代理,我用MariaBD创建了第二个实例,但是我无法与代理建立连接。以下是我所拥有的: 运行在容器优化操作系统上的VM,具有静态内部IP,无外部IP。此VM正在使用以下启动脚本运行: sudo docker run -d \ -p 0.0.0.0:3307:3307 \ gcr.io/cloudsql-docker/gce-proxy:latest /cloud_sql_proxy \ -instances=sq
sudo docker run -d \
-p 0.0.0.0:3307:3307 \
gcr.io/cloudsql-docker/gce-proxy:latest /cloud_sql_proxy \
-instances=sqlinstance_connection_name=tcp:0.0.0.0:3307
已激活私有IP的MySQL云SQL实例
在同一地区和网络上的同一项目中,所有内容都在GCP上运行(默认)。防火墙广泛开放用于测试目的
从第二个VM运行以下命令进行测试时,我出现以下错误:
(HY000): Lost connection to MySQL server at 'handshake: reading initial communication packet', system error: 11
那么这里的问题是什么呢?您可以检查实例的服务帐户是否具有CloudSQL客户端角色吗?您可以从一个vm ping另一个vm吗?我怎么做?两个虚拟机都在您的PC上运行?为什么不使用docker compose而不是使用VM的开销?一切都在GCP中运行。我之所以使用虚拟机,是因为我需要在涉及数据融合的大型项目中使用虚拟机,所以两台服务器都在同一个网络中,这意味着您可以使用专用ip从一台服务器ping另一台服务器