一 環境背景
- python-2.7.8
- docker 版本 1.15 (*yum安裝為1.14版本,需升級為1.15,詳見后續步驟)
二 獲取Docker容器指標【指標可行性分析見筆記:】
- CPU :usr 和 system Cpu time
- Memory
- IP
三 整體步驟
- 容器指標值獲取
- Docker Python API 環境搭建
- 獲取指標可行性分析
四 具體實現
1 以下python腳本為獲取指定容器ID的ip,cpu,及memory 【*框圖部分需引入python docker API】


2 :python docke api 安裝
未安裝api時,運行python,會報錯:no model named docker
安裝步驟如下:
A: 下載setuptools
- # wget https://pypi.python.org/packages/source/s/setuptools/setuptools-3.3.tar.gz
- # python setup.py build
- # python setup.py install
-
- ps:如遇到以下錯誤:

- yum install zlib
- yum install zlib-devel
- 安 裝完成后,重新編譯 python2.7【不需要刪除,只需要重新編譯,make,安裝就行了】 # cd /usr/local/Python-2.7.8 # make clean # make # make install
B 安裝pip
- # wget --no-check-certificate https://github.com/pypa/pip/archive/1.5.5.tar.gz
- #tar zvxf 1.5.5.tar.gz
- #cd pip-1.5.5/
- #python setup.py install 【*from setuptools import setup ,ImportError: No module named setuptools,解決如A】
C 安裝docker-py
-
#pip install docker-py
報錯:

解決如下:yum安裝openssl和openssl-devel。然后重新編譯python。
# yum install openssl
# yum install-devel
D 升級Docker版本(1.14)至1.15
- 殺死docker正在運行的進程 #killall docker
- #獲取最新更新的 docker版本 #wget http://get.docker.io/builds/Linux/x86_64/docker-latest -O docker 或者:wget https://get.docker.com/builds/Linux/x86_64/docker-latest -O docker
-
給docker執行權限 chmod +x docker
- 使用-d模式開啟和斷開docker進程,后台運行進程使用參數(&).保證你使用./docker的版本是最新版本的路徑而不是上一個版本的路徑 # 執行新的版本 #./docker -d &
或者你可以替換在/usr/local/bin的下的docker[為了保險起見將原有的docker更名為dockertemp存儲,而未刪除]

- 最后重啟docker:# service docker restart
-
docker version[成功升級為1.15] 如圖:

ps:如不升級docker會遇到以下錯誤:

E 運行python腳本
# python testCpu.py
參考資料:
1
http://masato.github.io/2014/11/16/salt-docker-pulled-api-error/#more 【client server版本不同】
2
http://www.2cto.com/os/201309/246571.html 【linux salt安裝】