3 Star 0 Fork 0

zhangwenlong / flask-vue-master

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
docker_client.py 5.39 KB
一键复制 编辑 原始数据 按行查看 历史
"""
@Project: flask-vue-master
@Author: ZhangWenLong
@Date: 2024/3/17 12:07
@File: hell
@Email: 1013974064@qq.com
"""
from utils import DockerUtils
conn = DockerUtils.getConnection()
all = conn.containers.list(all=True)
count = 0
for container in all:
print(container.attrs['State'])
# for container in all:
# status = container.attrs['State']['Running']
# print(container.attrs)
# print(status)
# if status:
# count = count + 1
# print(count)
#
# volumes = conn.volumes.list()
# for v in volumes:
# print('创建时间:', v.attrs['CreatedAt'])
# print('驱动:', v.attrs['Driver'])
# print('Labels:', v.attrs['Labels'])
# print('挂载点:', v.attrs['Mountpoint'])
# print('名称:', v.attrs['Name'])
# print('ID', v.short_id)
# print('*************************')
# # print(v.attrs)
# current_container = conn.containers.get('c6598e38dcab')
# current_container_info = current_container.stats(stream=False) # 不实时渲染
# print(current_container_info)
# print(current_container_info.keys())
# print(current_container_info.read)
# indexs = current_container_info.keys()
# data = {
# "timestamp": current_container_info['read'], # 时间戳
# "pids_stats": current_container_info['pids_stats'], # 进程数量
# "num_procs": current_container_info['num_procs'], # 当前容器进程数
# "cpu_stats": current_container_info['cpu_stats'],
# "storage_stats": current_container_info['storage_stats'],
# "memory_stats": current_container_info['memory_stats'],
# "online_cpus": current_container_info['cpu_stats']['online_cpus']
# # "networks": current_container_info.networks['networks']
# }
# print(data)
# print("online_cpus:", str(current_container_info['cpu_stats']['online_cpus']))
# print("memory_stats", current_container_info['memory_stats'])
# print("memory_usage", current_container_info['memory_stats']['usage'])
# print("memory_limit", current_container_info['memory_stats']['limit'])
# print("storage_stats", current_container_info['storage_stats'])
# conn = DockerUtils.getConnection()
# print(conn.containers.get('c6598e38dcab').stats(stream=False))
# info = conn.containers.get('c6598e38dcab').logs(stream=False, timestamps=True)
# network = conn.networks.list()
# for net in network:
# print(net.name)
# print(net.id)
# print(net.short_id)
# print('Created',net.attrs['Created'])
# print('SCope',net.attrs['Scope'])
# print(net.attrs['Labels'])
# print(net.attrs['Containers'])
# print(net.attrs)
# containers = conn.containers.get('292575e70db0')
# print(containers.attrs['State']['Status'])
# containers.restart()
# img = conn.images.list(all=True)
# for image in img:
# print(image.attrs)
#
#
#
# containers = conn.containers.list(all=True)
# for container in containers:
# network_setting = container.attrs['NetworkSettings']['Ports']
# all_keys = network_setting.keys()
# if '3389/tcp' in all_keys:
# dic = network_setting['3389/tcp']
# print(dic[0]['HostPort'])
# print(all_keys)
# port_bindings = container.attrs['HostConfig']['PortBindings']
# if port_bindings:
# all_keys = port_bindings.keys()
# if '3389/tcp' in all_keys:
# json_info = port_bindings['3389/tcp'][0]
# print(json_info['HostPort'])
# print(all_keys)
# print(port_bindings)
# # 检查 port_bindings 是否为 None
# if port_bindings is not None:
# # 获取所有键
# all_ports = port_bindings.keys()
#
# if '3389/tcp' in all_ports:
# # 假设只有一个端口映射,获取第一个
# port_list = port_bindings['3389/tcp']
#
# if port_list:
# host_port = port_list[0]['HostPort']
# print(f"主机端口:{host_port}")
# else:
# print("未找到 '3389/tcp' 的主机端口")
# else:
# print("未找到 '3389/tcp' 的端口映射")
# else:
# print("未找到容器的端口映射。")
# port_bindings = container.attrs['HostConfig']['PortBindings']
#
# # 获取所有键
# all_ports = port_bindings.keys()
#
# print("All ports:", all_ports)
#
# # 获取 '6379/tcp' 对应的列表
# port_list = port_bindings['6379/tcp']
#
# # 由于这里可能有多个端口映射,我们假设只有一个,取第一个
# if port_list:
# host_port = port_list[0]['HostPort']
# print(f"HostPort: {host_port}")
# else:
# print("No port binding found for '6379/tcp'")
# print(container.attrs)
# print(container.name)
# print(container.attrs['Created'])
# print(container.attrs['State']['Status']+'state++++++++++++++')
# print(container.attrs['Id'][:12])
# print(container.attrs['Config']['Image'])
# print(container.attrs['Config']['Cmd'])
# print(container.short_id)
# print(container.collection)
# print(container.attrs["Image"])
# front , back = container.attrs["Image"].split(':')
# print(front)
# print(back[:12])
# images = client.images()
#
# for image in images:
# repository_tags = image.get('RepoTags', [])
# for repo_tag in repository_tags:
# repo, tag = repo_tag.split(':')
# created = image.get('Created', '')
# size_mb = image.get('Size', 0) / (1024 * 1024)
# print(f"REPOSITORY TAG IMAGE ID CREATED SIZE")
# print(f"{repo.ljust(20)} {tag.ljust(20)} {image['Id'].split(':')[1][:12].ljust(20)} {created} {size_mb:.2f} MB")
# print("--------------")
# print(client.info())
# print(client.ping())
# print(images)
Python
1
https://gitee.com/Java_SSM/flask-vue-master.git
git@gitee.com:Java_SSM/flask-vue-master.git
Java_SSM
flask-vue-master
flask-vue-master
1.1

搜索帮助