2015-05-04 67 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環境變量。