Hi,
I either am missing to setup something properly, or I’m experiencing a weird problem.
Issue
I am having a docker-compose that setup 2 gRPC services (C# .NET Core 2.0) that should communicate with each other using service names, and that works until 2 days ago and I am not aware that I have any sort of update on my Windows, now what’s so ever I need to specify the port 80. Please see below my docker-compose file
version: '3.5'
services:
foo-one:
image: fooone.grpc.image
container_name: fooone.grpc.container
build:
context: .
dockerfile: src/FooOne/Dockerfile # Linux, C# .NET Core 2.0
ports:
- "5001:80"
foo-two:
image: footwo.grpc.image
container_name: footwo.grpc.container
build:
context: .
dockerfile: src/FooTwo/Dockerfile # Linux, C# .NET Core 2.0
ports:
- "5008:80"
Creating gRPC channel from outside using localhost:5001 or localhost:5008 works fine, but “foo-one” will try to consume “foo-two” and if I don’t specify port 80 when grpc channel is created the call will fail, and there was no need for that before, and I don’t remember that I had any special configuration in docker-compose.
So why do I need to have new Channel(“foo-two:80”) for communication between to containers that belong to the same network, and not just new Channel(“foo-two”)?
If anyone has any clues what might be the issue here, I’d appreciate it greatly, because although specifying the port 80 is not a big deal, I would like to know why I had to do it and did I mess something up.
Thanks!
OS and Docker Info
Client: Docker Engine - Community
Version: 18.09.0
API version: 1.39
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:47:51 2018
OS/Arch: windows/amd64
Experimental: false
Windows 10 Enterprise - Version 1607 (OS Build 14393.2608)