1. 程式人生 > 實用技巧 >docker-api

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