zoukankan      html  css  js  c++  java
  • docker-api

    # -*- coding: UTF-8 -*-
    
    import docker
    
    #初始化客户端
    
    client = docker.from_env()
    
    #from_env Return a client configured from environment variables.
    #连接环境变量中的docker 如 DOCKER_HOST DOCKER_TLS_VERIFY  DOCKER_CERT_PATH
    
    
    # client = docker.DockerClient(base_url='unix://var/run/docker.sock')
    # client = docker.DockerClient(base_url='tcp://172.29.206.148:2375')
    
    
    
    # for container in client.containers.list():
    #     print(container.id)
    #     print(container.short_id)
    #     print(container.name)
    #     print(container.status)
    #     print(container.image)
    #     print(container.attrs)
    
    #all=True  默认只列出running的容器
    
    container_list=[]
    for container in client.containers.list(all=True):
        container_info={}
        container_info["name"]=container.name
        container_info["id"]=container.id
        container_info["short_id"]=container.short_id
        container_info["status"]=container.status
        container_info["image"]=container.image.tags
        container_list.append(container_info)
    
    # for i in container_list:
    #     for k,v in i.items():
    #         print "key %s , val %s" %(k,v)
    
    #获取容器进行操作
    #container=client.containers.get("***") 可以是容器的id或name或short_id
    
    #force=True  running的容器正常删除须先stop在 remove
    # 强制删除须加 force=True
    for i in container_list:
        container=client.containers.get(i["id"])
        print("operate %s",%(i["name"]))
        container.stop()
        container.rename()#重命名
        container.kill()#强制停止
        container.start()#启动
        Container.restart()#重启
        container.remove(force=True)#running的容器强制删除须加 force=True
    
    
    # 列出镜像
    
    for i in client.images.list():
        print i.id
        print i.short_id
        print i.tags
    
    # 删除镜像
    client.images.remove("c9d43a597ff0")
  • 相关阅读:
    二叉树前、中、后遍历
    程序员节宜冒泡
    HashMap源码分析
    Stack源码解析
    逆袭之旅DAY24.XIA.二重进阶、双色球
    逆袭之旅DAY24.XIA.数组练习
    LY.JAVA面向对象编程.内部类
    LY.JAVA面向对象编程.修饰符
    LY.JAVA面向对象编程.包的概述、导包
    XIA.人机猜拳
  • 原文地址:https://www.cnblogs.com/jkklearn/p/13285213.html
Copyright © 2011-2022 走看看