@@ -266,7 +266,7 @@ def _write_docker_compose(self, warnet):
266
266
# Initialize services and add them to the compose
267
267
for service_name in warnet .services :
268
268
if "compose" in services [service_name ]["backends" ]:
269
- compose ["services" ][service_name ] = self .service_from_json (services [ service_name ] )
269
+ compose ["services" ][service_name ] = self .service_from_json (service_name )
270
270
271
271
docker_compose_path = warnet .config_dir / "docker-compose.yml"
272
272
try :
@@ -451,7 +451,11 @@ def wait_for_healthy_tanks(self, warnet, timeout=60) -> bool:
451
451
452
452
return healthy
453
453
454
- def service_from_json (self , obj ) -> object :
454
+ def get_service_container_name (self , service_name : str ):
455
+ return f"{ self .network_name } _{ services [service_name ]['container_name_suffix' ]} "
456
+
457
+ def service_from_json (self , service_name : str ) -> object :
458
+ obj = services [service_name ]
455
459
volumes = obj .get ("volumes" , [])
456
460
volumes += [f"{ self .config_dir } " + filepath for filepath in obj .get ("config_files" , [])]
457
461
@@ -460,7 +464,7 @@ def service_from_json(self, obj) -> object:
460
464
ports = [f"{ obj ['warnet_port' ]} :{ obj ['container_port' ]} " ]
461
465
return {
462
466
"image" : obj ["image" ],
463
- "container_name" : f" { self .network_name } _ { obj [ 'container_name_suffix' ] } " ,
467
+ "container_name" : self .get_service_container_name ( service_name ) ,
464
468
"ports" : ports ,
465
469
"volumes" : volumes ,
466
470
"privileged" : obj .get ("privileged" , False ),
@@ -470,3 +474,7 @@ def service_from_json(self, obj) -> object:
470
474
"restart" : "on-failure" ,
471
475
"networks" : [self .network_name ]
472
476
}
477
+
478
+ def restart_service_container (self , service_name : str ):
479
+ container = self .client .containers .get (self .get_service_container_name (service_name ))
480
+ container .restart ()
0 commit comments