docker默认是没有开启Remote API的,须要咱们手动开启。编辑/lib/systemd/system/docker.service
文件,html
在文件里的ExecStart
参数后面添加-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
python
而后重启sudo systemctl daemon-reload sudo service docker restart 在浏览器查看:git
备注:我这里用了 JSONView-for-Chrome插件 ,用git下载下来,chrome设置 - 扩展程序 (地址栏输入chrome://extensions/)-> 选中 开发模式-> 点击"加载已解压的扩展程序" -> 选择插件目录(xxx\JSONView-for-Chrome-master\WebContent)github
须要安装pip3 install docker-py,理论上docker-py能够干全部事情,但实际如今还不不怎么好用chrome
import docker client = docker.DockerClient("http://192.168.100.5:2375") #打印现有的images名称 #images =client.images.list() #for img in images: #print(img.attrs["RepoTags"][0]) #获取container for container in client.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 in images: #print(img.attrs["RepoTags"][0]) #获取container for container in client.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")
参考:docker
https://docs.docker.com/develop/sdk/examples/api
https://github.com/docker/docker-py浏览器
https://letong.gitbooks.io/docker/content/API/python_api.htmlapp