我正在使用cloud_proxy连接到google cloud postgres实例。我遵循了GCP网站https://cloud.google.com/sql/docs/postgres/connect-admin-proxy中的步骤。当我在本地使用python manage.py运行服务器,主机为db为127.0.0.1,端口为5432时,程序运行正常。
如果我试图停靠应用程序并运行程序,我将面临错误
无法连接到服务器:连接被拒绝服务器是否在主机"localhost“(127.0.0.1)上运行并接受端口5432上的TCP/IP连接?
Docker文件
服务: web: build:。命令: python manage.py runserver
volumes:
- .:/code
ports:
- 8000:8000因此,我尝试使用堆栈溢出答案Is there a way to access google cloud SQL via proxy inside docker container修改settings.py文件中的主机来停靠应用程序。
现在,面对错误gcloud is not in the path,-instances和-projects为空
服务:
网站:
build: .
command: python manage.py runserver
depends_on:
- cloud-sql-proxy
volumes:
- .:/code
ports:
- 8000:8000
env_file:
- ./.env.devcloud-sql-proxy:
image: gcr.io/cloudsql-docker/gce-proxy:1.16
command: /cloud_sql_proxy --dir=/cloudsql instances=abc:us-central1:def=tcp:0.0.0.0:5432 -credential_file=/secrets/cloudsql/credentials.json
ports:
- 5432:5432
volumes:
- credentials.json:/secrets/cloudsql/credentials.json
restart: always你能帮我解决这个问题吗?我的需求是使用Django应用程序创建一个docker映像,以便可以将其部署到GCP。
发布于 2020-09-07 19:32:15
我想你错过了-应该是的
command: /cloud_sql_proxy --dir=/cloudsql -instances=abc:us-central1:def=tcp:0.0.0.0:5432 -credential_file=/secrets/cloudsql/credentials.json发布于 2020-09-09 02:18:58
我建议您遵循下面的文档:
Connecting psql client using the Cloud SQL Proxy docker Image
本页面介绍了如何在运行Linux或Compute Engine Linux实例的客户机上,使用Cloud SQL Proxy Docker镜像,将psql客户端连接到您的Cloud SQL实例,我认为本指南可以满足您的需求。
本指南提到了在第9点启动代理的方法。Unix套接字:
docker run -d -v /cloudsql:/cloudsql \
-v <PATH_TO_KEY_FILE>:/config \
gcr.io/cloudsql-docker/gce-proxy:1.16 /cloud_sql_proxy -dir=/cloudsql \
-instances=<INSTANCE_CONNECTION_NAME> -credential_file=/config如果您使用的是计算引擎实例提供的凭据,则不要包括credential_file参数和-v <PATH_TO_KEY_FILE>:/config行。如果您使用的是容器优化型镜像,请使用可写目录代替/cloudsql,例如:
-v /mnt/stateful_partition/cloudsql:/cloudsql此外,如果您想了解有关Cloud SQL代理参数和标志的更多信息,建议您查看此page
我希望这些信息能对你有所帮助
https://stackoverflow.com/questions/63776548
复制相似问题