Added start/stop/restart docker containers runner on python

This commit is contained in:
Ilya Oleshko 2023-10-19 14:27:45 +03:00
parent 41cb7ab9a7
commit 80f1ecea84
3 changed files with 41 additions and 17 deletions

View File

@ -0,0 +1,16 @@
#!/usr/bin/python3
import subprocess
import time
import os
rd = os.path.dirname(__file__)
start = time.time()
print("Restart all backend services (containers)")
subprocess.run(["python", os.path.join(rd, "stop.backend.docker.py")])
subprocess.run(["python", os.path.join(rd, "start.backend.docker.py")])
end = time.time()
print("\nElapsed time", end - start)

View File

@ -0,0 +1,15 @@
#!/usr/bin/python3
import subprocess
import time
start = time.time()
container_ids = subprocess.check_output("docker ps -aq -f label=com.docker.compose.project=docker", encoding='utf-8')
containers = container_ids.strip().split()
if containers:
print("Start all backend services (containers)")
subprocess.run(['docker', 'start'] + containers, check=True)
end = time.time()
print("\nElapsed time", end - start)

View File

@ -1,24 +1,17 @@
#!/usr/bin/python3
import subprocess
import time
# Execute command to find and filter containers
containers = subprocess.check_output(['docker', 'ps', '-a', '-f', 'label=com.docker.compose.project=docker', '--format={{.ID}}'], text=True).rstrip().split('\n')
print(containers)
#containers = [line.split(' ')[0] for line in output.split('\n') if line and not any(keyword in line for keyword in ["mysql", "rabbitmq", "redis", "elasticsearch", "documentserver"])]
if not containers:
print("No containers to stop")
exit()
start = time.time()
container_ids = subprocess.check_output("docker ps -q -f label=com.docker.compose.project=docker", encoding='utf-8')
containers = container_ids.strip().split()
if containers:
print("Stop all backend services (containers)")
for c in containers:
if not c:
continue
subprocess.run(['docker', 'stop'] + containers, check=True)
else:
print("No containers to stop")
subprocess.run(['docker', 'stop', c])
#print("Stop all backend services (containers)")
#subprocess.run(['docker', 'stop', containers])
end = time.time()
print("\nElapsed time", end - start)