-
Notifications
You must be signed in to change notification settings - Fork 1
/
docker_utils.py
50 lines (46 loc) · 1.2 KB
/
docker_utils.py
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : Jason
# @Mail : [email protected]
# @File : docker_utils.py
from docker import Client
cli=Client(base_url='unix://var/run/docker.sock',version='auto')
def containers_list(running):
if running:
lst=cli.containers()
return lst
else:
lst=cli.containers(all=True)
return lst
def images_list():
return cli.images()
def myadd():
return cli.info()
def memory():
"""
Get node total memory and memory usage
"""
with open('/proc/meminfo', 'r') as mem:
ret = {}
tmp = 0
for i in mem:
sline = i.split()
if str(sline[0]) == 'MemTotal:':
ret['total'] = int(sline[1])
elif str(sline[0]) in ('MemFree:', 'Buffers:', 'Cached:'):
tmp += int(sline[1])
ret['free'] = tmp
ret['used'] = int(ret['total']) - int(ret['free'])
return ret
def remove(mycont):
cli.remove_container(mycont)
def start(mycont):
cli.start(mycont)
def stop(mycont):
cli.stop(mycont)
def create_container(image,command,name):
cli.create_container(image=image,command=command,name=name)
def test():
return cli.networks()
def network():
return cli.networks()