docker官网有个docker-py,用起来很是清爽简单,下面简单介绍一下。
首先安装docker的python相关的模块
root@dev-ops:~# pip install docker-py
Requirement already satisfied (use --upgrade to upgrade): docker-py in /usr/local/lib/python2.7/dist-packages
Requirement already satisfied (use --upgrade to upgrade): requests==2.2.1 in /usr/lib/python2.7/dist-packages (from docker-py)
Requirement already satisfied (use --upgrade to upgrade): six>=1.3.0 in /usr/lib/python2.7/dist-packages (from docker-py)
Requirement already satisfied (use --upgrade to upgrade): websocket-client==0.11.0 in /usr/local/lib/python2.7/dist-packages (from docker-py)
Requirement already satisfied (use --upgrade to upgrade): mock==1.0.1 in /usr/local/lib/python2.7/dist-packages (from docker-py)
Requirement already satisfied (use --upgrade to upgrade): coverage==3.7.1 in /usr/local/lib/python2.7/dist-packages (from docker-py)
Cleaning up...
root@dev-ops:~#
root@dev-ops:~#
创建docker的链接,这里是通过sock连接的
from docker import Client
c = Client(base_url='unix://var/run/docker.sock',version='1.21',timeout=10)
--API version的值可以通过docker version来查看
我们可以看到里面有很多的功能
c.adapters c.copy c.headers c.login c.proxies c.send
c.attach c.create_container c.history c.logs c.pull c.start
c.attach_socket c.create_container_from_config c.hooks c.max_redirects c.push c.stop
c.auth c.delete c.images c.mount c.put c.stream
c.base_url c.diff c.import_image c.options c.remove_container c.tag
c.build c.events c.info c.params c.remove_image c.top
c.cert c.export c.insert c.patch c.request c.trust_env
c.close c.get c.inspect_container c.ping c.resize c.verify
c.commit c.get_adapter c.inspect_image c.port c.resolve_redirects c.version
c.containers c.get_image c.kill c.post c.restart c.wait
c.cookies c.head c.load_image c.prepare_request c.search
查看已经部署好的images镜像
c.images()
下载镜像
c.pull('core9/docker-mongodb')
启动容器
c.start(container="15bd8d4ecd1a50604732e1f81763eb347a1cf8937da929799e65261b004894ce")
查看日志
c.logs(container="15bd8d4ecd1a50604732e1f81763eb347a1cf8937da929799e65261b004894ce")