docker-compose副本主机名

时间:2017-06-02 14:16:16

标签: docker docker-compose

我正在尝试使用docker-compose scale graylog-es-slave=2添加包含副本的群集,但是对于与Docker compose and hostname不同的版本3 Dockerfile

我正在尝试做什么ix弄清楚如何获取副本集中的特定节点

这是我试过的

D:\p\liberty-docker>docker exec 706814bf33b2 ping graylog-es-slave -c 2
PING graylog-es-slave (172.19.0.4): 56 data bytes
64 bytes from 172.19.0.4: icmp_seq=0 ttl=64 time=0.067 ms
64 bytes from 172.19.0.4: icmp_seq=1 ttl=64 time=0.104 ms
--- graylog-es-slave ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.067/0.085/0.104/0.000 ms

D:\p\liberty-docker>docker exec 706814bf33b2 ping graylog-es-slave.1 -c 2
ping: unknown host

D:\p\liberty-docker>docker exec 706814bf33b2 ping graylog-es-slave_1 -c 2
ping: unknown host

docker-compose.yml

version: 3
service:
  graylog-es-slave:
    image: elasticsearch:2
    command: "elasticsearch -Des.cluster.name='graylog'"
    environment:
      ES_HEAP_SIZE: 2g
    deploy:
      replicas: 2 <-- this is ignored on docker-compose just putting it here for completeness

1 个答案:

答案 0 :(得分:1)

使用.(下划线)代替_,并添加项目名称的前缀(包含docker-compose.yml的目录,我假设它是{{1} }):

liberty-docker_graylog

您可以看到正在执行ping liberty-docker_graylog-es-slave_1 ,搜索正确的网络,然后network ls