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 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")

参考:

https://docs.docker.com/develop/sdk/examples/

https://github.com/docker/docker-py

https://letong.gitbooks.io/docker/content/API/python_api.html

原文地址:https://www.cnblogs.com/majiang/p/11372355.html

时间: 2024-11-13 04:09:23

python docker api的相关文章

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

Docker API简单使用

默认情况下,Docker daemon监听unix://var/run/docker.sock,并且客户端必须有root权限用来与daemon交互. 为了使用Docker REST API,可以先停止docker服务,然后在启动的时候加-H参数: service docker stop docker -d -H unix:///var/run/docker.sock -H 0.0.0.0:4243 为了使配置永久生效,在Ubuntu环境下修改其配置文件 /etc/default/docker,

【漏洞挖掘】攻击对外开放的Docker API接口

https://medium.com/@riccardo.ancarani94/attacking-docker-exposed-api-3e01ffc3c124 1)场景 攻击开放在互联网的Docker API 2)问题难点 Docker API外放有什么危害? 3)解决问题的方法 理解客户API公开互联网的原理 信息收集和枚举 利用Docker CLI测试暴露的API 批量挖掘 4)方法细节 理解客户API公开互联网的原理 <如何为dockerd启用远程API> 1./etc/system

Docker入门教程(七)Docker API

Docker入门教程(七)Docker API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第七篇,重点介绍了Docker Registry API和Docker Hub API. 纵观我们的Docker系列教程,我们已经讨论了很多重要的Docker组件与命令.在本文中,我们将继续深入学习Docker:剖析Docker APIs. Docker提供了很多的API以便用户使用.这些API包含四个方面: Docker Registry API Doc

Python DB API的异常

我们在昨天预告了一下Python DB API的异常,今天我们来细讲一下: 1.所有异常的超类:StandardError; 2.waring:属于StandardError超类,发生非致命问题所以发的异常: 3.Error:属于StandardError超类,所有错误条件的超类: 4.InterfaceError:属于Error超类,发生与接口(非数据库)相关的错误所引发的异常: 5.DatabaseError:属于Error超类,发生与数据库相关的错误的超类: 6.DataError:属于D

Python Elasticsearch API操作ES集群

环境 Centos 7.4 Python 2.7 Pip 2.7 MySQL-python 1.2.5 Elasticsearc 6.3.1 Elasitcsearch6.3.2 知识点 调用Python Elasticsearh API Python Mysqldb使用 DSL查询与聚合 Pyehon 列表操作 代码 #!/usr/bin/env python # -*- coding: utf-8 -*- #minyt 2018.9.1 #获取24小时内出现的模块次数 # 该程序通过elas

Python C API 引用计数器(三)

简介 Python的内存管理是通过对象的引用计数器来实现的,对象的创建会将引用计数器加1,被引用一次则引用计数器就会加1,反之解除引用时,则引用计数器就会减1,当Python对象的引用计数器为0的时候,则这个对象就会被回收和释放. 这种内存管理的方式是有一定的弊端的,一是它需要额外的空间维护引用计数,二是它不能解决对象的"循环引用"的问题,因此,也有很多语言比如Java并没有采用该算法做来垃圾的回收机制. Python代码实例 import sys def test_refcount(

Python DB API 连接数据库

Python DB API Mysql,Oracle,SqlServer 不关闭,会浪费资源. 原文地址:https://www.cnblogs.com/jiqing9006/p/9713716.html

如何用 Python 和 API 收集与分析网络数据?

摘自 https://www.jianshu.com/p/d52020f0c247 本文以一款阿里云市场历史天气查询产品为例,为你逐步介绍如何用 Python 调用 API 收集.分析与可视化数据.希望你举一反三,轻松应对今后的 API 数据收集与分析任务. 市场 我们尝试的,是他们找到的阿里云市场的一款 API 产品,提供天气数据. 它来自于易源数据,链接在 https://market.aliyun.com/products/57096001/cmapi010812.html?spm=517