我正在开发微服务应用程序,并使用docker-compose进行编排。 我有一个角度应用程序,并使用Spring Boot开发了2个微服务。 在我的localhost环境中,我已经成功地在容器之间通信并发送了请求,但是当我尝试在google shell实例中运行docker-compose文件时,对后端的请求失败。
角度项目中的端点具有此模式
http://localhost:8090/**
我还尝试使用在docker-compose中定义为
的容器名称searchservice:8080/**
但它也不起作用。
这是我的docker-compose配置
version: '3.5'
services:
searchservice:
hostname: searchservice
image: ayoubdali/searchservice:0.0.3-SNAPSHOT
container_name: searchservice
networks:
- es-network
#ipv4_address: 172.21.0.12
ports:
- 8080:8080
restart: always
depends_on:
- elasticsearch
subscriber-service:
hostname: subscriber-service
image: ayoubdali/subscriberservice:0.0.4-SNAPSHOT
container_name: subscriber-service
networks:
- es-network
#ipv4_address: 172.21.0.13
ports:
- 8090:8090
restart: always
depends_on:
- mongo1
- mongo2
searchappfront:
hostname: searchappfront
image: frontservice:0.5.0
container_name: searchappfront
networks:
- es-network
ports:
- 4200:80
restart: always
depends_on:
- subscriber-service
- searchservice
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.8.6
hostname: elasticsearch
container_name: elasticsearch
ports:
- 9200:9200
networks:
- es-network
mongo1:
hostname: mongo1
image: mongo
container_name: mongo1
networks:
- es-network
ports:
- 27018:27017
restart: always
entrypoint: [ "/usr/bin/mongod", "--bind_ip_all", "--replSet", "rs0" ]
networks:
es-network:
attachable: true
答案 0 :(得分:0)
如果我对您的理解正确,那么问题是在本地环境中,您的Angular容器(前端)在GCP实例的端口8080上无法访问searchservice
由于显示的错误与使用EndPoint Url中的主机名时的DNS有关,因此请确保一切都在DNS方面正常工作,并且当您对该主机名发出dns请求时,它可以解决该问题。此外,此部署中没有其他GCP服务或产品(例如Cloud DNS)