docker-compose networking - 主机名无法解析

时间:2017-09-16 05:21:04

标签: docker docker-compose

我有以下docker-compose文件。我正在尝试从主机访问容器中运行的服务。

但主机名永远不会解决。

version: '2'
networks: 
  mynet:
    driver: bridge
services:


  grpcserver:
    image: test/image
    volumes:
      - ./:/var/local/git
    ports:
      - 50051:50051
    stdin_open: true
    tty: true
    hostname: grpcserver
    networks: 
      - mynet
    entrypoint: bash ../var/local/git/service/start.sh

当我exec到容器时,我可以成功使用主机名telnet grpcserver 50051到正在运行的服务。但是从主持人来说,我做不到。

版本

docker-compose版本1.16.1,build 6d1ac21

1 个答案:

答案 0 :(得分:2)

未在主机上使用其名称解析Docker容器。它们只能在其他容器内解析。该名称取决于您是否尝试从同一个撰写/网络中的其他服务或不同的服务进行连接。

如果您需要从主机发现容器,则需要使用dnsmasq之类的工具。请参阅下面的答案,了解有关如何进行此类设置的更多详细信息

Access to container by his hostname from host-mascine