为什么无法解析docker-compose中定义的服务/主机名

时间:2017-07-11 15:25:53

标签: docker docker-compose

我从另一个容器访问容器时遇到问题。我的docker-compose.yml文件是:

  version: '2'
services:

  consul:
    image: "consul"
    hostname: "consul"
    command: "agent -server -client=0.0.0.0  -bind=10.30.1.134 -retry-join=10.30.1.97 -retry-join=10.30.1.42 -bootstrap-expect=3 -ui"
    ports:
      - "8400:8400"
      - "8500:8500"
      - "8300:8300"
      - "8301:8301"
      - "8302:8302"
      - "8600:53/udp"
    volumes:
      - /data/consul:/consul/data
    network_mode: host
  vault:
    depends_on:
      - consul
    image: "vault"
    hostname: "vault"
    links:
      - consul
    environment:
      VAULT_ADDR: http://127.0.0.1:8200
    ports:
      - "8200:8200"
      - "8201:8201"
    volumes:
      - ./tools/wait-for-it.sh:/wait-for-it.sh
      - ./config/vault:/config
      - ./config/vault/policies:/policies
    entrypoint: /wait-for-it.sh -t 200 -h consul -p 8500 -s -- vault server -config=/config/with-consul.hcl

当我做docker-compose时,我看到错误

vault_1   | nc: bad address 'consul'    

而且我也无法ping服务:

root@ip-10-30-1-134:~# docker run vault ping consul
ping: bad address 'consul'

根据文件,接收者必须能够通过定义的名称进入,即领事

0 个答案:

没有答案