|
@@ -102,7 +102,7 @@ async def ess_instance(create_client, slb_client, ess_count, max_workers, versio
|
|
|
sys.exit()
|
|
|
|
|
|
|
|
|
-def remove_container_image(client, instance_id, container_name):
|
|
|
+def remove_container_image(client, instance_id, container_name_list):
|
|
|
"""
|
|
|
移除旧容器并删除旧镜像
|
|
|
:param client: 客户端连接
|
|
@@ -121,9 +121,13 @@ def remove_container_image(client, instance_id, container_name):
|
|
|
logging.error(f"容器不存在或者无法删除当前容器, instance = {instance_id}/{ip_address}")
|
|
|
sys.exit()
|
|
|
try:
|
|
|
- container_id = client.containers.get(container_name)
|
|
|
- container_id.remove(force=True)
|
|
|
- break
|
|
|
+ for container_name in container_name_list:
|
|
|
+ try:
|
|
|
+ container_id = client.containers.get(container_name)
|
|
|
+ container_id.remove(force=True)
|
|
|
+ break
|
|
|
+ except:
|
|
|
+ continue
|
|
|
except Exception as e:
|
|
|
i += 1
|
|
|
|
|
@@ -171,12 +175,12 @@ async def update_instance(create_client, slb_client, instance_ids, max_workers,
|
|
|
global remove_container_instances
|
|
|
remove_container_instances = []
|
|
|
# container_name = 'longvideoapi'
|
|
|
- container_name = 'vlogapi'
|
|
|
+ container_name_list = ['vlogapi', 'longvideoapi']
|
|
|
loop = asyncio.get_running_loop()
|
|
|
executor = ThreadPoolExecutor(max_workers=max_workers)
|
|
|
tasks = [
|
|
|
loop.run_in_executor(executor, remove_container_image, *args) for args in
|
|
|
- [(slb_client, instance_id, container_name) for instance_id in instance_id_list]
|
|
|
+ [(slb_client, instance_id, container_name_list) for instance_id in instance_id_list]
|
|
|
]
|
|
|
await asyncio.wait(tasks)
|
|
|
logging.info(f"remove container & images finished, instances: {remove_container_instances},"
|