DockerCloud的Python库

python-dockercloud的Python项目详细描述


#python docker云

Docker Cloud的Python库

##安装

为了安装Docker Cloud Python库,您可以使用PIP安装:

pip install python-dockercloud

它将安装一个名为dockercloud的python模块,您可以使用它与api接口。

##授权

可以通过以下方式配置身份验证:

  • 在python初始化代码中手动设置它:

    import dockercloud dockercloud.user = “username” dockercloud.apikey = “apikey”

  • 使用docker cli登录,库会自动读取配置文件:

    $ docker login

  • 设置环境变量dockerCloud用户和dockerCloud API键:

    export DOCKERCLOUD_USER=username export DOCKERCLOUD_APIKEY=apikey

##可选参数

您可以使用dockerCloud reconnection间隔变量设置重新连接间隔(整数,以秒为单位):

export DOCKERCLOUD_RECONNECTION_INTERVAL=240

会话使用的套接字可能被某个对等方关闭。要防止“读取超时”问题,应使用此选项。

可能值:

  • -1(默认情况下)表示没有重新连接(通常是正常工作的)
  • 0表示在每次请求时重新连接
  • 任何正值都表示如果最后两个请求之间的时间差大于该值,则将重新打开连接

##命名空间

要支持团队和组织,可以通过以下方式指定命名空间:

  • 在python代码中设置:

    import dockercloud dockercloud.namespace = “yourteam”

  • 在环境变量中设置:

    export DOCKERCLOUD_NAMESPACE=yourteam

##错误

http api中的错误将返回4xx和5xx范围内的状态代码。

python库将检测此状态代码,并使用错误消息引发apierror异常,调用应用程序应相应地处理该异常。

##快速示例

###服务

>>> import dockercloud
>>> dockercloud.Service.list()
[<dockercloud.api.service.Service object at 0x10701ca90>, <dockercloud.api.service.Service      object at 0x10701ca91>]
>>> service = dockercloud.Service.fetch("fee900c6-97da-46b3-a21c-e2b50ed07015")
<dockercloud.api.service.Service object at 0x106c45c10>
>>> service.name
"my-python-app"
>>> service = dockercloud.Service.create(image="dockercloud/hello-world", name="my-new- app", target_num_containers=2)
>>> service.save()
True
>>> service.target_num_containers = 3
>>> service.save()
True
>>> service.stop()
True
>>> service.start()
True
>>> service.delete()
True

###容器

>>> import dockercloud
>>> dockercloud.Container.list()
[<dockercloud.api.container.Container object at 0x10701ca90>, <dockercloud.api.container.Container object at 0x10701ca91>]
>>> container = dockercloud.Container.fetch("7d6696b7-fbaf-471d-8e6b-ce7052586c24")
<dockercloud.api.container.Container object at 0x10701ca90>
>>> container.public_dns = "my-web-app.example.com"
>>> container.save()
True
>>> container.stop()
True
>>> container.start()
True
>>> container.logs()
"2014-03-24 23:58:08,973 CRIT Supervisor running as root (no user in config     file) [...]"
>>> container.delete()
True

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spring freemarker多模板加载程序路径   在java插件中从控制台获取输入   java在包中创建继承类   网页抓取Java Jsoup网页抓取   java在线程内创建一个对象,而true条件具有相同的引用   java如何根据空格数拆分字符串   java新的安卓 studio更新中的配置文件“app”是什么?   java在将ArrayList写入/读取到文件时出现奇怪的问题   java Reg替换文本块第一次出现+最后一次出现   java当我单击任何RecyclerView列表项时,如何在MainActivity的EditText中显示特定的单击项?   JAVA XML删除节点仅删除第一个外观   java如何在数组中查找特定值   java SVG/矢量图形对象布尔运算(并集、交集、减法)   java在Android中创建线程需要多长时间   尝试从JBOSS联系Oracle LDAP服务器时发生java连接重置异常   java基于参数获取特定的实现实例   使用java就地修改文件内容   java MonetaryException:未加载MonetaryAmountsSingletonSpi   java接受用户的不同输入并使其触发完全相同的代码段的最短方法是什么   Spring 3.2.8应用程序中未找到java HTTP 404错误