Размер контейнера можно просмотреть, набрав: docker ps -s
или docker inspect -s <container_id>
.
Я хотел сделать то же самое с Docker SDK для Python .
Чтобы получить все детали для первого контейнера, который я запускаю:
import docker
client = docker.from_env()
containers = client.containers.list()
print(containers[0].id)
client_api = docker.APIClient(base_url='unix://var/run/docker.sock')
client_api.inspect_container(containers[0])
Я получаю список со всей информацией о контейнерах, но отсутствует только размер:
{
'HostnamePath': '/var/lib/docker/containers/dd418d37b0ea82b8ec32b5619ce77b6d897c8a847a575c3ed21c4ddd20d06b3e/hostname',
'Mounts': [],
'HostsPath': '/var/lib/docker/containers/dd418d37b0ea82b8ec32b5619ce77b6d897c8a847a575c3ed21c4ddd20d06b3e/hosts',
'MountLabel': '',
'AppArmorProfile': 'docker-default',
'ExecIDs': None,
'Path': 'sh',
'GraphDriver': {
'Data': None,
'Name': 'aufs'
},
'Image': 'sha256:caf27325b298a6730837023a8a342699c8b7b388b8d878966b064a1320043019',
'Name': '/jovial_wiles',
'ResolvConfPath': '/var/lib/docker/containers/dd418d37b0ea82b8ec32b5619ce77b6d897c8a847a575c3ed21c4ddd20d06b3e/resolv.conf',
'Args': ['-c', 'sleep 1111111'],
'NetworkSettings': {
'Networks': {
'bridge': {
'Links': None,
'EndpointID': '2fb132d452ef55076296360a41aa06bbd03e128860ac56d9ead773e94bd09f25',
'MacAddress': '02:42:ac:11:00:03',
'Gateway': '172.17.0.1',
'IPAddress': '172.17.0.3',
'GlobalIPv6PrefixLen': 0,
'NetworkID': '3da3f680f6a93df9a27948669c9174304f69d1e649702568b909e8cbb4a1ddcf',
'IPv6Gateway': '',
'IPPrefixLen': 16,
'IPAMConfig': None,
'DriverOpts': None,
'GlobalIPv6Address': '',
'Aliases': None
}
},
'SandboxKey': '/var/run/docker/netns/9a764461f582',
'EndpointID': '2fb132d452ef55076296360a41aa06bbd03e128860ac56d9ead773e94bd09f25',
'MacAddress': '02:42:ac:11:00:03',
'Gateway': '172.17.0.1',
'SecondaryIPAddresses': None,
'GlobalIPv6PrefixLen': 0,
'SandboxID': '9a764461f58297f4fbaf692773a917430cc66eefdb9e76921da1da2faacc7997',
'Ports': {},
'IPAddress': '172.17.0.3',
'LinkLocalIPv6PrefixLen': 0,
'Bridge': '',
'IPv6Gateway': '',
'SecondaryIPv6Addresses': None,
'IPPrefixLen': 16,
'HairpinMode': False,
'LinkLocalIPv6Address': '',
'GlobalIPv6Address': ''
},
'Platform': 'linux',
'State': {
'Pid': 33888,
'ExitCode': 0,
'Dead': False,
'OOMKilled': False,
'Error': '',
'StartedAt': '2019-03-14T09:09:30.488548343Z',
'Restarting': False,
'FinishedAt': '0001-01-01T00:00:00Z',
'Status': 'running',
'Paused': False,
'Running': True
},
'LogPath': '/var/lib/docker/containers/dd418d37b0ea82b8ec32b5619ce77b6d897c8a847a575c3ed21c4ddd20d06b3e/dd418d37b0ea82b8ec32b5619ce77b6d897c8a847a575c3ed21c4ddd20d06b3e-json.log',
'Driver': 'aufs',
'Config': {
'OnBuild': None,
'Env': ['PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'],
'Entrypoint': None,
'StdinOnce': False,
'Tty': False,
'AttachStdout': False,
'Domainname': '',
'Labels': {},
'Cmd': ['sh', '-c', 'sleep 1111111'],
'User': '',
'AttachStdin': False,
'WorkingDir': '',
'Hostname': 'dd418d37b0ea',
'OpenStdin': False,
'AttachStderr': False,
'Image': 'alpine',
'Volumes': None
},
'Id': 'dd418d37b0ea82b8ec32b5619ce77b6d897c8a847a575c3ed21c4ddd20d06b3e',
'Created': '2019-03-14T09:09:29.746351911Z',
'ProcessLabel': '',
'RestartCount': 0,
'HostConfig': {
'Links': None,
'IOMaximumIOps': 0,
'Cgroup': '',
'IOMaximumBandwidth': 0,
'Ulimits': None,
'CpusetMems': '',
'CpuQuota': 0,
'BlkioDeviceReadIOps': None,
'BlkioWeightDevice': [],
'UTSMode': '',
'BlkioDeviceWriteIOps': None,
'Devices': [],
'CgroupParent': '',
'VolumesFrom': None,
'CpuShares': 0,
'ContainerIDFile': '',
'MaskedPaths': ['/proc/acpi', '/proc/kcore', '/proc/keys', '/proc/latency_stats', '/proc/timer_list', '/proc/timer_stats', '/proc/sched_debug', '/proc/scsi', '/sys/firmware'],
'BlkioDeviceWriteBps': None,
'NanoCpus': 0,
'UsernsMode': '',
'OomScoreAdj': 0,
'ReadonlyPaths': ['/proc/asound', '/proc/bus', '/proc/fs', '/proc/irq', '/proc/sys', '/proc/sysrq-trigger'],
'CpuPercent': 0,
'DeviceCgroupRules': None,
'Privileged': False,
'MemorySwappiness': None,
'ExtraHosts': None,
'PidsLimit': 0,
'PidMode': '',
'IpcMode': 'shareable',
'NetworkMode': 'default',
'CapAdd': None,
'MemoryReservation': 0,
'AutoRemove': True,
'Memory': 0,
'GroupAdd': None,
'ReadonlyRootfs': False,
'DiskQuota': 0,
'BlkioWeight': 0,
'SecurityOpt': None,
'PublishAllPorts': False,
'ShmSize': 67108864,
'CpuPeriod': 0,
'MemorySwap': 0,
'LogConfig': {
'Config': {},
'Type': 'json-file'
},
'CpuRealtimePeriod': 0,
'PortBindings': {},
'RestartPolicy': {
'Name': 'no',
'MaximumRetryCount': 0
},
'VolumeDriver': '',
'CpusetCpus': '',
'Isolation': '',
'DnsSearch': [],
'DnsOptions': [],
'ConsoleSize': [0, 0],
'Runtime': 'runc',
'Dns': [],
'CapDrop': None,
'KernelMemory': 0,
'Binds': None,
'CpuCount': 0,
'OomKillDisable': False,
'CpuRealtimeRuntime': 0,
'BlkioDeviceReadBps': None
}
Когда я запустил docker inspect -s <container_id> | grep size
, я увидел, что он появляется в поле с именем SizeRw
, но я не могу найти его в приведенной выше информации.