开启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"][])
#获取container
for container in client.containers.list():
#print(dir(container))
print("container:"+container.name+" image:"+container.image.attrs["RepoTags"][])
#拉取镜像 相当于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"][])
#获取container
for container in client.containers.list():
#print(dir(container))
print("container:"+container.name+" image:"+container.image.attrs["RepoTags"][])
#拉取镜像 相当于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

python docker api的更多相关文章

  1. python调用docker API(CentOS6.5)

    一 环境背景 python-2.7.8 docker 版本 1.15 (*yum安装为1.14版本,需升级为1.15,详见后续步骤) 二 获取Docker容器指标[指标可行性分析见笔记:] CPU : ...

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

    https://medium.com/@riccardo.ancarani94/attacking-docker-exposed-api-3e01ffc3c124 1)场景 攻击开放在互联网的Dock ...

  3. docker API 配置与使用

    在网上看到一大堆乱乱七八招的博客,很多都不能用,我根据这些天踩的坑来总结一下吧 首先!怎么配置 docker API 两种方法 在/etc/sysconfig/docker文件里加一行OPTIONS= ...

  4. Docker入门教程(七)Docker API

    Docker入门教程(七)Docker API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第七篇,重点介绍了Docker Registry API和 ...

  5. 用 Identity Server 4 (JWKS 端点和 RS256 算法) 来保护 Python web api

    目前正在使用asp.net core 2.0 (主要是web api)做一个项目, 其中一部分功能需要使用js客户端调用python的pandas, 所以需要建立一个python 的 rest api ...

  6. Python Docker 查看私有仓库镜像【转】

    文章来源:python Docker 查看私有仓库镜像 pip 安装: # 首先安装epel扩展源: yum -y install epel-release # 更新完成之后,就可安装pip: yum ...

  7. Python DB API 连接数据库

    Python DB API Mysql,Oracle,SqlServer 不关闭,会浪费资源.

  8. Python调用API接口的几种方式 数据库 脚本

    Python调用API接口的几种方式 2018-01-08 gaoeb97nd... 转自 one_day_day... 修改 微信分享: 相信做过自动化运维的同学都用过API接口来完成某些动作.AP ...

  9. Docker for mac开启docker api调用

    docker-java 支持unix socket调用的 DefaultDockerClientConfig config = DefaultDockerClientConfig.createDefa ...

随机推荐

  1. Risc-V简要概括

    1.Risc-V硬件平台术语 一个RiscV硬件平台可以包含一个或多个RiscV兼容的核心.其它非RiscV兼容的核心.固定功能的加速器.各种物理存储器结构.I/O设备以及允许这些部件相互连通的互联结 ...

  2. current transaction is aborted, commands ignored until end of transaction block

    current transaction is aborted, commands ignored until end of transaction block Error updating datab ...

  3. OPATCH在线补丁

    如果补丁中有online目录就是在线补丁,不需要数据库停机,在线的又分集群和非集群,如下 查看readme可以得知在线补丁打法 $ cat README.txt Oracle Database 11g ...

  4. 5.如何保证 redis 的高并发和高可用?redis 的主从复制原理能介绍一下么?redis 的哨兵原理能介绍一下么?

    作者:中华石杉 面试题 如何保证 redis 的高并发和高可用?redis 的主从复制原理能介绍一下么?redis 的哨兵原理能介绍一下么? 面试官心理分析 其实问这个问题,主要是考考你,redis ...

  5. 《linux就该这么学》课堂笔记14 Apache、SELinux、虚拟主机

    1.目前能够提供Web网络服务的程序有IIS(Windows系统中默认的Web服务程序,是一款图形化的网站管理工具).Nginx和Apache(RHEL 7系统中默认的Web服务程序)等. Apach ...

  6. LOJ 3158: 「NOI2019」序列

    题目传送门:LOJ #3158. 题意简述: 给定两个长度为 \(n\) 的正整数序列 \(a,b\),要求在每个序列中都选中 \(K\) 个下标,并且要保证同时在两个序列中都被选中的下标至少有 \( ...

  7. 百度快排发包python核心源码

    本源码仅供测试,发包有风险,优化还是踏实的好!本代码是本人自己学习python练手作品!  附上代码: # -*- coding: utf-8 -*-from selenium import webd ...

  8. Hyperparameters

    参数是机器学习算法的关键.它们通常由过去的训练数据中总结得出.在经典的机器学习文献中,我们可以将模型看作假设,将参数视为对特定数据集的量身打造的假设. 模型是否具有固定或可变数量的参数决定了它是否可以 ...

  9. Windbg Register(寄存器)窗口的使用

    寄存器是位于在 CPU 的小易失性内存单位. 许多寄存器专用于特定用途,并可用于用户模式应用程序使用的其他寄存器. 基于 x86 和基于 x64 的处理器在有可用的寄存器的不同集合. 如何打开寄存器窗 ...

  10. restql 学习一 安装试用

    restql 提供了manager 可以方便配置restql 的资源,同时也提供了一个docker-compose 运行环境 以下是一个安装使用 环境准备 docker-compose 文件   ve ...