2015-05-04 51 views
0

我想从cadvisor通过influxdb 我在这里的码头工人,配置访问收集的数据:一旦我开始两个容器influxDB和cadvisor整合问题

//for cadvisor 
docker run  
--volume=/:/rootfs:ro  
--volume=/var/run:/var/run:rw  
--volume=/sys:/sys:ro  
--volume=/var/lib/docker/:/var/lib/docker:ro  
--publish=8080:8080  
--detach=true  
--name=cadvisorDB  
google/cadvisor:latest  
-storage_driver=influxdb  
-storage_driver_host=127.0.0.1:8086 
-storage_driver_db=databaseName 

//for InfluxDB 
docker run 
-d 
-p 8083:8083 
-p 8086:8086 
--expose 8090 
--expose 8099 
tutum/influxdb 
//and I created manually the databse through the WEB UI on localhost:8083 
with the name databaseName` 

所以,我去influxDB探索数据(通过查询)。错误表示没有数据

回答

2

配置中的所有内容看起来都不错。这个问题可能是在这一行:

-storage_driver_host = 127.0.0.1:8086

因为127.0.0.1是指的cadvisor容器本地主机而不是本地主机。试着把代替码头工Nat ip(通常是172.17.42.1)。

2

这是我在我的“docker-compose”YAML文件中使用的。应该很容易翻译成通常的“码头运行”语法。在我的情况下,我连接了cAdvisor中的InfluxDB容器,因此无论分配给容器的内部Docker IP如何,cAdvisor都知道如何解析主机名“influxdb”。

influxdb: 
 
    image: tutum/influxdb 
 
    hostname: influxdb 
 
    volumes: 
 
    - ./influxdb:/data 
 
    environment: 
 
    - PRE_CREATE_DB=cadvisor 
 
    ports: 
 
    - "8083:8083" 
 
    - "8086:8086" 
 
    expose: 
 
    - "8090" 
 
    - "8099" 
 

 
cadvisor: 
 
    image: google/cadvisor 
 
    hostname: cadvisor 
 
    volumes: 
 
    - /:/rootfs:ro 
 
    - /var/run:/var/run:rw 
 
    - /sys:/sys:ro 
 
    - /var/lib/docker:/var/lib/docker:ro 
 
    ports: 
 
    - "8089:8080" 
 
    links: 
 
    - influxdb 
 
    command: -storage_driver_db=cadvisor -storage_driver_host=influxdb:8086

注:InfluxDB可以创建你的数据库,如果你自动设置PRE_CREATE_DB环境变量。