Não é possível conectar-se ao servidor Go GRPC em execução no contêiner Docker local

Eu tenho um serviço go grpc. Estou desenvolvendo em um Mac, Sierra. Ao executar um cliente grpc no serviço localmente, tudo está bem, mas ao executar o mesmo cliente no mesmo serviço no contêiner do docker, recebo este erro:

transport: http2Client.notifyError got notified that the client transport was broken EOF.
FATA[0000] rpc error: code = Internal desc = transport is closing

este é o meu arquivo docker:

FROM golang:1.7.5

RUN mkdir -p /go/src/github.com/foo/bar
WORKDIR /go/src/github.com/foo/bar

COPY . /go/src/github.com/foo/bar
# ONBUILD RUN go-wrapper download
RUN go install

ENTRYPOINT /go/bin/bar

EXPOSE 51672

meu comando para construir a imagem:

docker build -t bar .

meu comando para iniciar o contêiner do docker:

docker run -p 51672:51672 --name bar-container bar
Outras informações:o programa cliente executa bem a partir do contêiner do dockerconectar-se a um endpoint de descanso regular funciona bem (http2, relacionado ao grpc?)

executando olsof comando no OS X produz esses resultados

$lsof -i | grep 51672
com.docke   984 oldDave   21u  IPv4 0x72779547e3a32c89      0t0  TCP *:51672 (LISTEN)
com.docke   984 oldDave   22u  IPv6 0x72779547cc0fd161      0t0  TCP localhost:51672 (LISTEN)

Aqui está um trecho do código do meu servidor:

server := &Server{}
endpoint := "localhost:51672"
lis, err := net.Listen("tcp", endpoint)
if err != nil {
    log.Fatalf("failed to listen: %v", err)
}

s := grpc.NewServer(grpc.Creds(creds))

pb.RegisterExpServiceServer(s, server)

// Register reflection service on gRPC server.
reflection.Register(s)

log.Info("Starting Exp server: ", endpoint)

if err := s.Serve(lis); err != nil {
    log.Fatalf("failed to serve: %v", err)
}

questionAnswers(1)

yourAnswerToTheQuestion