本文整理汇总了Python中docker.client.Client.kill方法的典型用法代码示例。如果您正苦于以下问题:Python Client.kill方法的具体用法?Python Client.kill怎么用?Python Client.kill使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类docker.client.Client
的用法示例。
在下文中一共展示了Client.kill方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: DockerPyClient
# 需要导入模块: from docker.client import Client [as 别名]
# 或者: from docker.client.Client import kill [as 别名]
#.........这里部分代码省略.........
if 'volumes' in entry:
volumes.extend([vol['containerPath'] for vol in entry['volumes'] if 'containerPath' in vol])
volsFrom = [vol['from'] for vol in entry['volumes'] if 'from' in vol]
if len(volsFrom):
kwargs['volumes_from'] = volsFrom
if 'portMappings' in entry:
kwargs['ports'] = [p['containerPort'] for p in entry['portMappings']]
container = self.client.create_container(**kwargs)
self.docker_start(container['Id'], entry)
return container['Id']
def docker_start(self, container, entry=None):
logsBound = False
binds = {}
restart_policy = 'on-failure'
kwargs = {
'container': container,
'binds': binds
}
if entry is not None:
if 'network' in entry:
kwargs['network_mode'] = entry['network']
if 'privileged' in entry:
kwargs['privileged'] = entry['privileged']
if 'volumes' in entry:
volsFrom = []
for vol in entry['volumes']:
if 'from' in vol:
volsFrom.append(vol['from'])
continue
if not 'containerPath' in vol:
self.log.warn('No container mount point specified, skipping volume')
continue
if not 'hostPath' in vol:
# Just a local volume, no bindings
continue
binds[vol['hostPath']] = {
'bind': vol['containerPath'],
'ro': 'mode' in vol and vol['mode'].lower() == 'ro'
}
if vol['containerPath'] == '/var/log/ext':
logsBound = True
if len(volsFrom):
kwargs['volumes_from'] = volsFrom
if 'portMappings' in entry:
portBinds = {}
for pm in entry['portMappings']:
portBinds[pm['containerPort']] = pm['hostPort'] if 'hostPort' in pm else None
kwargs['port_bindings'] = portBinds
if 'links' in entry:
kwargs['links'] = entry['links']
if 'restart' in entry:
restart_policy = entry['restart']
kwargs['restart_policy'] = { 'MaximumRetryCount': 0, 'Name': restart_policy }
if not logsBound:
binds['/var/log/ext/%s' % container] = { 'bind': '/var/log/ext', 'ro': False }
self.client.start(**kwargs);
def docker_signal(self, container, sig='HUP'):
self.client.kill(container, sig)
def docker_restart(self, container):
self.client.restart(container)
def docker_stop(self, container):
self.client.stop(container)
def docker_rm(self, container):
self.client.remove_container(container)
def docker_rmi(self, image):
# Force removal, sometimes conflicts result from truncated pulls when
# dockerup container upgrades/dies
self.client.remove_image(image, force=True)