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¶ 
-