我想使用Spring Boot创建Web服务,将其添加到docker映像,连接到云sql,然后在Compute Engine上运行。
我正在使用docker compose来组合项目映像和云sql代理映像。但是,无论我给出什么jdbc URL,它都无法连接。现在,我正在本地尝试所有这些
我尝试了以下URL:
1. spring.datasource.url=jdbc:mysql:///cloudsql/myinstancename/${MYSQL_DATABASE}
2. spring.datasource.url=jdbc:mysql://cloudsql/myinstancename/${MYSQL_DATABASE}
3. spring.datasource.url=jdbc:mysql://127.0.0.1:3306/${MYSQL_DATABASE}
docker-compose.yml
version: '3'
services:
app:
image: appname
volumes:
- cloudsql:/cloudsql
depends_on:
- sql_proxy
ports:
- 8080:8080
# SQL proxy is built correctly, says
# Listening on /cloudsql/myinstancename for myinstancename
# sql_proxy_1 | Ready for new connections
sql_proxy:
environment:
- MYSQL_ROOT_PASSWORD=password!#
- MYSQL_DATABASE=appname
- MYSQL_USER=root
image: gcr.io/cloudsql-docker/gce-proxy:1.12
command:
/cloud_sql_proxy
-dir=/cloudsql
-instances=myinstancename # (I have added this correctly)
-credential_file=/root/keys/keyfile.json
volumes:
- E:\mykey.json:/root/keys/keyfile.json:ro
- cloudsql:/cloudsql
ports:
- 3306:3306
volumes:
# This empty property initializes a named volume.
cloudsql:
应用程序.属性:
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql:///cloudsql/myinstancename/${MYSQL_DATABASE}
spring.datasource.username=${MYSQL_USER}
spring.datasource.password=${MYSQL_ROOT_PASSWORD}
spring.security.enabled=false
security.ignored=/**
目前,您使用的云SQL代理是在/cloud dsql/中安装unix套接字的sidecar模式
或者,您可以使用云SQL JDBC套接字工厂。这是一个Java库,允许您创建到云SQL实例的认证连接,但不需要使用代理。
错误: 正在启动客户端连接,connectstring=localhost:2181 sessiontimeout=60000 watcher=org.apache.curator.connectionstate@7bf272d3[info]o.a.z.clientcnxn-打开到服务器localhost/127.0.0.1:2181的套接字连接。将不尝试使用SASL(未知错误)[info]K.M
我正在运行从docker hub mongo image中提取的mongo docker image 它工作正常,但当我启动Robomongo时,我无法连接到localhost。出现以下错误消息: 无法连接到本地主机27017上的MongoDB。 错误:无法访问网络 谢谢你的帮助,谢谢。 编辑:我使用以下命令解决了问题:
我创建了一个docker compose文件,将MySql连接到SpringBoot应用程序。但我得到了这个错误: 我尝试在本地机器中使用docker默认ip运行Spring Boot应用程序,同时在这个docker-compose.yml文件中只运行MySql容器,结果运行得非常好。但当我尝试docker编写文件时。我知道这个错误。
null 我是这么说的: 编辑:这不是因为gradle docker图像,而是任何图像。如果我使用Jenkins运行,并且它是一个容器,这也不起作用。尝试连接到172.x.x.1(主机地址)和公开的端口,但测试没有连接,但访问容器,并使用mysql客户机尝试相同的连接,我可以连接。
您似乎试图通过本机驱动程序端口上的HTTP访问MongoDB。 而且日志显示我的mongodb是健康的。我想是我试图通过浏览器访问的最后一行。 2017-01-25T21:11:13.509+0000 I JOURNAL[initandlisten]JOURNAL dir=/data/db/Journal2017-01-25T21:11:13.509+0000 I JOURNAL[initandl
我拉出了mysql docker映像,并用命令运行容器: 此时,springBoot在本地工作。它与MySQL连接: 现在,我希望springBoot应用程序也在单独的docker容器上,在同一服务器上。为此,我使用了DockerFile: 同样,它无法连接到数据库: