python调用docker API(CentOS6.5)

一 环境背景
  • 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         
               
  •  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

参考资料:
原文地址:https://www.cnblogs.com/biboxie/p/4233428.html