2017-08-12 584 views
1

我想用elastic的docker-elk,然后我克隆了弹性的github代码。我想用一个特定的IP为每一个容器,所以我定义了一个特定的IP为每一个容器,当我运行docker-compose up,我遇到了错误docker-up错误,地址无效

ERROR: for elasticsearch Cannot start service elasticsearch: Invalid address 172.18.1.3: It does not belong to any of this network's subnets 
ERROR: Encountered errors while bringing up the project. 

它没有显示出任何网络的子网,但我定义子网,docker-compose.yml这样

version: '2' 

services: 

    elasticsearch: 
    build: elasticsearch/  
    ports: 
     - "9200:9200" 
     - "9300:9300" 
    environment: 
     ES_JAVA_OPTS: "-Xmx256m -Xms256m" 
    networks: 
     elk: 
     ipv4_address: 172.18.1.3 

    logstash: 
    build: logstash/ 
    ports: 
     - "5000:5000" 
    environment: 
     LS_JAVA_OPTS: "-Xmx256m -Xms256m" 
    networks: 
     elk: 
     ipv4_address: 172.18.1.4 
    depends_on: 
     - elasticsearch 

    kibana: 
    build: kibana/ 
    ports: 
     - "5601:5601" 
    networks: 
     elk: 
     ipv4_address: 172.18.1.5 
    depends_on: 
     - elasticsearch 

networks: 

    elk: 
    driver: bridge 
    ipam: 
     config: 
     - subnet: 172.18.1.0/24 

docker version

Client: 
Version:  17.06.0-ce 
API version: 1.30 
Go version: go1.8.3 
Git commit: 02c1d87 
Built:  Fri Jun 23 21:20:36 2017 
OS/Arch:  linux/amd64 

Server: 
Version:  17.06.0-ce 
API version: 1.30 (minimum version 1.12) 
Go version: go1.8.3 
Git commit: 02c1d87 
Built:  Fri Jun 23 21:21:56 2017 
OS/Arch:  linux/amd64 
Experimental: false 
+0

后泊坞窗的'输出version' –

回答

0

据撰写docs,该ipam块必须有子网范围和网关定义。因此,只要你更新到:

ipam: 
    config:   
    - driver: default 
     subnet: 172.18.1.0/24 
     gateway: 172.18.1.1