使用java jdbc套接字工厂从本地docker容器内连接到cloudsql实例

我很难让我的jar从本地docker容器内连接到cloudsql。

如果我在容器外面运行jar:

export GOOGLE_APPLICATION_CREDENTIALS=<path to credentials.json> jar -jar <myjar.jar> 

那么它工作正常。

但是,当我运行这样的docker:

  docker run -d -p MY_SERVER_PORT:MY_SERVER_PORT -p 3306:3306 -v <local path to credentials.json>:<path in container> <image name> 

我在容器日志中得到以下内容:

 Nov 09, 2017 10:37:15 AM org.hibernate.Version logVersion INFO: HHH000412: Hibernate Core {0.0.1} Nov 09, 2017 10:37:15 AM org.hibernate.cfg.Environment <clinit> INFO: HHH000206: hibernate.properties not found Nov 09, 2017 10:37:15 AM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit> INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final} Nov 09, 2017 10:37:15 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!) Nov 09, 2017 10:37:15 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator INFO: HHH10001005: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://google/testdb?cloudSqlInstance=crypt-swiss:europe-west3:mysql&socketFactory=com.google.cloud.sql.mysql.SocketFactory] Nov 09, 2017 10:37:15 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator INFO: HHH10001001: Connection properties: {user=proxyuser, password=****} Nov 09, 2017 10:37:15 AM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator INFO: HHH10001003: Autocommit mode: false Nov 09, 2017 10:37:15 AM org.hibernate.engine.jdbc.connections.internal.PooledConnections <init> INFO: HHH000115: Hibernate connection pool size: 20 (min=1) Nov 09, 2017 10:37:16 AM com.google.cloud.sql.mysql.SocketFactory connect INFO: Connecting to Cloud SQL instance [crypt-swiss:europe-west3:mysql]. Nov 09, 2017 10:37:16 AM com.google.cloud.sql.core.SslSocketFactory getInstance INFO: First Cloud SQL connection, generating RSA key pair. session could not be built: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 

有谁知道,如果我不得不打开一些其他的端口,以允许jdbc套接字工厂连接到MySQL服务器?

非常感谢 :)