idmtools_platform_local.infrastructure.base_service_container module¶
-
class
idmtools_platform_local.infrastructure.base_service_container.BaseServiceContainer(container_name: str = None, image: str = None, client: docker.client.DockerClient = None, config_prefix: str = None, network: str = None)¶ Bases:
abc.ABC-
container_name: str = None¶
-
image: str = None¶
-
client: docker.client.DockerClient = None¶
-
config_prefix: str = None¶
-
network: str = None¶
-
static
get_common_config(container_name: str, image: str, network: str, port_bindings: Optional[Dict] = None, volumes: Optional[Dict] = None, mem_limit: Optional[str] = None, mem_reservation: Optional[str] = None, environment: Optional[List[str]] = None, extra_labels: Optional[Dict] = None, **extras) → dict¶ Returns portions of docker container configs that are common between all the different containers used within our platform
- Parameters
mem_limit (Optional[str]) – Limit memory
mem_reservation (Optional[str]) – Reserve memory
Returns:
Notes
Memory strings should match those used by docker. See –memory details at https://docs.docker.com/engine/reference/run/#runtime-constraints-on-resources
-
get() → Optional[docker.models.containers.Container]¶
-
get_or_create(spinner=None) → docker.models.containers.Container¶ Get or Create a container
- Parameters
spinner – Optional spinner to display
- Returns
Docker container object representing service container
-
static
ensure_container_is_running(container: docker.models.containers.Container) → docker.models.containers.Container¶ Ensures is running :param container:
Returns:
-
create(spinner=None) → docker.models.containers.Container¶
-
static
wait_on_status(container, sleep_interval: float = 0.2, max_time: float = 2, statutes_to_wait_for: List[str] = None)¶
-
stop(remove=False)¶
-
restart()¶
-
get_logs()¶
-
abstract
get_configuration() → Dict¶
-