Coverage for src/container_collection/docker/submit_docker_job.py: 100%
7 statements
« prev ^ index » next coverage.py v7.1.0, created at 2024-09-25 18:23 +0000
« prev ^ index » next coverage.py v7.1.0, created at 2024-09-25 18:23 +0000
1from docker import APIClient
4def submit_docker_job(api_client: APIClient, job_definition: dict, volume: str) -> str:
5 """
6 Submit Docker job.
8 Parameters
9 ----------
10 api_client
11 Docker API client.
12 job_definition
13 Docker job definition used to create job container.
14 volume
15 Name of the docker volume.
17 Returns
18 -------
19 :
20 Container ID.
21 """
23 host_config = api_client.create_host_config(binds={volume: {"bind": "/mnt", "mode": "rw"}})
25 container = api_client.create_container(**job_definition, host_config=host_config)
26 container_id = container.get("Id")
28 api_client.start(container=container_id)
30 return container_id