我创建了一个停靠群,并尝试使用覆盖网络,以便在部署在该集群上的2个服务之间进行通信。由1项服务组成的码头人员如下所示:
version: '3'
services:
web:
container_name: "eureka"
image: eureka
environment:
EUREKA_HOST: eureka
ports:
- 8070:8070
networks:
- net_swarm
networks:
net_swarm:
external:
name: net_swarm第二:
version: '3'
services:
web:
image: zuul-service
environment:
EUREKA_HOST: eureka_web
ports:
- 8069:8069
networks:
- net_swarm
networks:
net_swarm:
external:
name: net_swarm我做了一个docker deploy --compose-file docker-compose.yml eureka来创建服务1,它附带了服务名为eureka_web (如上面所示),在服务2的组合文件中被引用为EUREKA_HOSTS,但是由于这个"eureka_web“有一个下划线,主机在尝试运行第二个文件时不会被选中。(主要是因为下划线的缘故),我能以某种方式覆盖服务名称中的下划线吗?或者还有其他的工作要做?
发布于 2018-03-27 10:36:01
不要给容器起名字。
因此,您的服务名称将充当主机名。
此外,带有下划线的主机名不应引起任何问题。试着找出真正的根源。
编辑:您的服务名称和主机名是web。如果不看码头文件,我就不能说这句话。
environment:
EUREKA_HOST: eurekahttps://stackoverflow.com/questions/49508052
复制相似问题