docker - 谷歌云运行容器网络

标签 docker networking google-cloud-run

我在 docker 容器中有一个应用程序/服务系统,当我使用 docker-compose 启动它们时,它们会使用桥接网络相互通信。

worker 启动并向经理注册。经理分配 worker 的工作要做。为此, worker 需要知道经理在哪里,而经理需要知道 worker 在哪里。

我想将它们全部部署到 Google Cloud Run。

目前,通过 docker-compose 在 docker 中,他们使用容器名称相互交谈。例如worker可能调用:http://manager:5000/register?name=worker1&port=5000在启动时注册,然后manager可以调用http://worker1:5000 发送工作。这一切都归功于它们连接到同一个桥接网络。

这如何与 Google Cloud Run 配合使用?据我所知,当您创建与容器链接的服务时,您将获得一个永久 URL,以便在您的应用启动后与它进行通信。容器中的应用不知道 URL 是什么。

我可以使用服务名称以与 docker 桥接网络相同的方式相互通信吗?

最佳答案

Cloud Run 目前不支持您项目中其他服务的基于主机名的服务发现。

目前,最好的办法是使用环境变量或类似的东西配置您的应用所依赖的服务 URL。

关于docker - 谷歌云运行容器网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57689876/

相关文章:

docker - 创建覆盖挂载到 nfs 挂载时出错

docker - 如何在 Jenkins 中传递 docker run 参数?

google-cloud-run - 使用 OpenTelemetry 在 Google Cloud Run 上跟踪传播

apache-kafka - 在 Google Cloud Run 上运行 Kafka Consumers

python - 如何使用在 docker 镜像或新容器中不断变化的 python 库?

python - Django ModuleNotFoundError : No module named 'sql_server' With Docker

Java 网络代码在对象接收之前执行

ios - 访问使用 Alamofire 下载的文件到具有未知文件名的 downloads 目录

java - 如何在java项目中使用netbeans使用ip地址而不是名称来指定主机连接到postgres数据库?

docker - Cloud Run 上的容器内存管理和 OOM