Cloud SQL代理的Docker映像是什么?为什么使用它?

时间:2018-10-14 14:35:38

标签: docker kubernetes google-cloud-platform google-kubernetes-engine

我正在Google Cloud Platform中关注the tutorial on how to deploy a Django application to the Kubernetes Engine,并在第9步中这样做:

  
      
  1. 检索Cloud SQL代理的公共Docker映像。

    docker pull b.gcr.io/cloudsql-docker/gce-proxy:1.05
    
  2.   

这是什么Cloud SQL代理映像?我是否正确理解将应用程序(即网络工作者)部署到基于Cloud SQL代理映像构建的映像?这样是为了他们可以访问数据库?

查看应用程序的the yaml file,似乎是从Cloud SQL代理生成的映像将运行应用程序,然后还有另一个容器,它只是cloudsql-docker映像。为什么需要第二个容器?<​​/ p>

2 个答案:

答案 0 :(得分:1)

我敢肯定,其他一些真正了解Kubernetes,Docker和GCP的人会为您提供更好的答案,但是我想介绍一下到目前为止我所学到的信息,以防其他人也遇到同样的问题。

  

这是什么Cloud SQL代理映像?

这是一个运行Cloud SQL代理的Docker映像,其解释如下:https://cloud.google.com/sql/docs/postgres/sql-proxy

我仍然不确定100%为什么使用此SQL代理。

  

我是否正确理解应用程序Web工作者已部署到在Cloud SQL代理映像之上构建的映像?

那是错的。该命令:

docker build -t gcr.io/<your-project-id>/polls .

使用Dockerfile from the git repo,其中将gcr.io/google_appengine/python设置为应用程序图像的基础图像。

答案 1 :(得分:0)

我刚遇到类似情况。如果您要在Google Cloud Instance的容器中运行应用程序,并且想连接到Google Cloud SQL,则只需使用Cloud SQL Proxy docker。将您的应用容器与Cloud SQL Proxy docker容器链接。另外,在应用程序中将MySQL主机名保留为SQL代理容器名而不是localhost。

在使用负载均衡器运行托管实例组时最有用

参考:https://forums.docker.com/t/app-container-cannot-access-mysql-container/6660