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")
复制代码

 

posted on   思此狂  阅读(325)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示