zoukankan      html  css  js  c++  java
  • SDK2

    1、想和docker守护进程通信,就必须先实例化一个客户端。这里有最简单的方法就是通过名为from_env()的函数。也可以通过通过手动的方式实例化一个DockerClient 类。

    2、from_env()

      返回一个客户端配置从环境变量中。

      这个环境变量和docker命令行是一样的。

      

      DOCKER_HOST

      连接Docker host的url

      DOCKER_TLS_VERIFY

      验证主机的CA证书

      DOCKER_CERT_PATH

      连接docker主机需要用到的TLS证书路径  

      

      参数说明:

        version(str)  可以设置API版本,设置自动检测服务器版本,默认1.26

        timeout(int)   连接docker主机超时时间以秒为单位。

        ssl_version(int)  设置ssl版本信息

        assert_hostname(bool)  是否验证服务器的主机名

        environment(dict)    设置docker的环境变量,默认值是os.environ

    举例:

    import docker
    
    client=docker.from_env(timeout=10,version=1.28)

    3、DockerClient()

    我发现上面的from_env()只是对DockerClient()做了一个封装,所以想要更多的个性化配置需要用到我们的DockerClient()类。

    DOckerClient: 与docker服务通信的客户端

    举例:

    import docker
    client = docker.DockerClient(base_url='unix://var/run/docker.sock')

    参数说明:

    base_url(str)  - 链接docker服务器的URL,比如:unix://var/run/docker.sock 或者tcp://127.0.0.1:1234

    version(str)  -  API版本,可以设置自动检测服务器的版本。默认1.26.

    timeout(int)  -  默认超时时间,以秒为单位。

    tls(bool  or TLSConfig)  -  开启TLS。设置为True开启默认配置。设置为TLSConfig对象使用个性化配置。

    user_agent(str)  -  为服务设置一个自定义的用户代理。

    子方法:

    configs:

      在服务器上管理配置对象。

    containers:

      在服务器上管理容器对象。

    images:

      在服务器上管理镜像对象。

    networks:

      在服务器上管理网络的对象。

    node:

      在服务器上管理节点的对象。

    plugins:

      在服务器上管理插件的对象。

    secrets:

      在服务器上管理安全的对象。

    services:

      在服务器上管理服务的对象

    swarm:

      在服务器上管理集群的对象。

    volumes:

      在服务器上管理数据卷的对象。

    df():

      获取数据使用信息

      返回不同资源类别和资源使用情况。

    events()

      从服务器获取实时事件。

      参数:

        since(UTC 时间戳或者整形)

        until(UTC 时间戳或者整形)

        filters(dict)  过滤时间时间,对象可以是容器或镜像。

       返回:可以迭代取出事件。(它是一个生成器)

    >>> for event in client.events()
    ...   print event
    {u'from': u'image/with:tag',
     u'id': u'container-id',
     u'status': u'start',
     u'time': 1423339459}
    ...

      提示:如果没有日志,随便操作下容器就好了,比如启动/停止一个容器就会有事件输出。

    info()

      查看系统信息,类是命令docker info

    login()

      登录验证,类是命令docker login

      参数:

      username(str):用户名

      password(str):密码

      email(str):注册访问的邮箱

      registry(str):注册的url

      reauth(bool):是否刷新docker服务器上的现有验证

      dockercfg_path(str) :使用自定义的路径配置默认$HOME/.docker/config.json

    ping()

      验证服务可用性。

      返回:BOOL

    version()

      返回服务器版本信息。

  • 相关阅读:
    ffmpeg rtmp推流 视频转码
    java日志发展史 log4j slf4j log4j2 jul jcl 日志和各种桥接包的关系
    nginx stream 流转发,可以转发rtmp、mysql访问流,转发rtmp、jdbc请求
    java web http 转https 通过nginx代理访问
    linux 服务器磁盘挂载
    novnc 通过websockify代理 配置多点访问
    linux 文件服务 minio 安装部署配置
    AOP实现原理,手写aop
    java 泛型
    JAVA反射getGenericSuperclass()用法
  • 原文地址:https://www.cnblogs.com/fonzie/p/7889611.html
Copyright © 2011-2022 走看看