如何让docker请求服务名而不是IP地址

如何让docker请求服务名而不是IP地址,docker,docker-compose,hyperledger-fabric,hyperledger-composer,docker-networking,Docker,Docker Compose,Hyperledger Fabric,Hyperledger Composer,Docker Networking,我正在尝试使用覆盖网络创建结构多组织多虚拟机。Hyperledger结构使用对等方(容器)的服务名称验证它们。现在,这里的问题是对等方在通信中提供其IP地址而不是服务名称,从而导致TLS验证失败。是否有办法使容器仅使用服务名称而不是IP地址进行GRPC调用。在生产场景中,您将使用DNS服务器从主机名映射地址,并且您的任何配置文件中都没有IP地址。我鼓励您在开发/测试环境中尝试并采用相同的方法,/etc/hosts文件显然是虚拟机自己解析主机名的答案,docker compose中有一个功能,用于

我正在尝试使用覆盖网络创建结构多组织多虚拟机。Hyperledger结构使用对等方(容器)的服务名称验证它们。现在,这里的问题是对等方在通信中提供其IP地址而不是服务名称,从而导致TLS验证失败。是否有办法使容器仅使用服务名称而不是IP地址进行GRPC调用。

在生产场景中,您将使用DNS服务器从主机名映射地址,并且您的任何配置文件中都没有IP地址。我鼓励您在开发/测试环境中尝试并采用相同的方法,/etc/hosts文件显然是虚拟机自己解析主机名的答案,docker compose中有一个功能,用于向容器中的/etc/hosts文件添加额外的主机,例如,docker compose yaml文件中的以下行:

    extra_hosts:
  - "peer0.omac.cons.com:192.168.153.157"

你好,撒切尔夫人,谢谢你的回复。我同意您的观点,dns映射将用于生产。但我正在处理POC,正如建议的那样,我也在/etc/hosts中添加了配置。但是,这对我不起作用。