pythondockerapi_python docker api

开启Remote API

docker默认是没有开启Remote API的,需要我们手动开启。编辑/lib/systemd/system/docker.service文件,

在文件里的ExecStart参数后面添加-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

然后重启sudo systemctl daemon-reload     sudo service docker restart  在浏览器查看:

备注:我这里用了 JSONView-for-Chrome插件  ,用git下载下来,chrome设置 - 扩展程序 (地址栏输入chrome://extensions/)-> 选中 开发模式-> 点击"加载已解压的扩展程序" -> 选择插件目录(xxx\JSONView-for-Chrome-master\WebContent)

Python API

需要安装pip3 install docker-py,理论上docker-py可以干所有事情,但实际现在还不不怎么好用

import docker

client= docker.DockerClient("http://192.168.100.5:2375")

#打印现有的images名称

#images=client.images.list()

#for img inimages:

#print(img.attrs["RepoTags"][0])

#获取containerfor container inclient.containers.list():

#print(dir(container))

print("container:"+container.name+"image:"+container.image.attrs["RepoTags"][0])

#拉取镜像 相当于sudo docker pull alpine

image= client.images.pull("alpine")

#运行镜像 如果detach=True,会立即返回一个container对象

container= client.containers.run("alpine", ["touch", "/helloworld"], detach=True)

container.wait()

#提交新镜像

image= container.commit("helloworld")

import docker

client= docker.DockerClient("http://192.168.100.5:2375")

#打印现有的images名称

#images=client.images.list()

#for img inimages:

#print(img.attrs["RepoTags"][0])

#获取containerfor container inclient.containers.list():

#print(dir(container))

print("container:"+container.name+"image:"+container.image.attrs["RepoTags"][0])

#拉取镜像 相当于sudo docker pull alpine

image= client.images.pull("alpine")

#运行镜像 如果detach=True,会立即返回一个container对象

container= client.containers.run("alpine", ["touch", "/helloworld"], detach=True)

container.wait()

#提交新镜像

image= container.commit("helloworld")

参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值