start / stop docker container on table start / stop

This commit is contained in:
iamBadgers
2026-03-28 00:11:12 -07:00
parent d9c9dad905
commit 97fb4546f9
4 changed files with 89 additions and 12 deletions

View File

@@ -0,0 +1,31 @@
import docker
def start_container(table_name, prefix):
client = docker.from_env()
router_key = "traefik.http.routers.{table_name}.rule".format(table_name=table_name)
middleware_key = (
"traefik.http.middlewares.{table_name}-stripprefix.stripprefix.prefixes".format(
table_name=table_name
)
)
middleware_router_key = "traefik.http.routers.{table_name}.middlewares".format(
table_name=table_name
)
labels = {}
labels[router_key] = "Host(`localhost`) && PathPrefix(`/{prefix}`)".format(prefix=prefix)
labels[middleware_key] = "/{prefix}".format(prefix=prefix)
labels[middleware_router_key] = "{table_name}-stripprefix".format(table_name=table_name)
container = client.containers.run(
image="crccheck/hello-world", detach=True, labels=labels, ports={8000:8000}
)
return container.id
def stop_container(docker_id):
client = docker.from_env()
container = client.containers.get(docker_id)
container.kill()