Back to Prefect

containers

docs/integrations/prefect-docker/api-ref/prefect_docker-containers.mdx

3.7.06.2 KB
Original Source

prefect_docker.containers

Integrations with Docker Containers.

Functions

create_docker_container <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-docker/prefect_docker/containers.py#L14" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

python
create_docker_container(image: str, command: Optional[Union[str, List[str]]] = None, name: Optional[str] = None, detach: Optional[bool] = None, entrypoint: Optional[Union[str, List[str]]] = None, environment: Optional[Union[Dict[str, str], List[str]]] = None, docker_host: Optional[DockerHost] = None, **create_kwargs: Dict[str, Any]) -> Container

Create a container without starting it. Similar to docker create.

Args:

  • image: The image to run.
  • command: The command(s) to run in the container.
  • name: The name for this container.
  • detach: Run container in the background.
  • docker_host: Settings for interacting with a Docker host.
  • entrypoint: The entrypoint for the container.
  • environment: Environment variables to set inside the container, as a dictionary or a list of strings in the format ["SOMEVARIABLE=xxx"].
  • **create_kwargs: Additional keyword arguments to pass to client.containers.create.

Returns:

  • A Docker Container object.

Examples:

Create a container with the Prefect image.

python
from prefect import flow
from prefect_docker.containers import create_docker_container

@flow
def create_docker_container_flow():
    container = create_docker_container(
        image="prefecthq/prefect",
        command="echo 'hello world!'"
    )

create_docker_container_flow()

get_docker_container_logs <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-docker/prefect_docker/containers.py#L76" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

python
get_docker_container_logs(container_id: str, docker_host: Optional[DockerHost] = None, **logs_kwargs: Dict[str, Any]) -> str

Get logs from this container. Similar to the docker logs command.

Args:

  • container_id: The container ID to pull logs from.
  • docker_host: Settings for interacting with a Docker host.
  • **logs_kwargs: Additional keyword arguments to pass to client.containers.get(container_id).logs.

Returns:

  • The Container's logs.

Examples:

Gets logs from a container with an ID that starts with "c157".

python
from prefect import flow
from prefect_docker.containers import get_docker_container_logs

@flow
def get_docker_container_logs_flow():
    logs = get_docker_container_logs(container_id="c157")
    return logs

get_docker_container_logs_flow()

start_docker_container <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-docker/prefect_docker/containers.py#L119" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

python
start_docker_container(container_id: str, docker_host: Optional[DockerHost] = None, **start_kwargs: Dict[str, Any]) -> Container

Start this container. Similar to the docker start command.

Args:

Returns:

  • The Docker Container object.

Examples:

Start a container with an ID that starts with "c157".

python
from prefect import flow
from prefect_docker.containers import start_docker_container

@flow
def start_docker_container_flow():
    container = start_docker_container(container_id="c157")
    return container

start_docker_container_flow()

stop_docker_container <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-docker/prefect_docker/containers.py#L161" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

python
stop_docker_container(container_id: str, docker_host: Optional[DockerHost] = None, **stop_kwargs: Dict[str, Any]) -> Container

Stops a container. Similar to the docker stop command.

Args:

Returns:

  • The Docker Container object.

Examples:

Stop a container with an ID that starts with "c157".

python
from prefect import flow
from prefect_docker.containers import stop_docker_container

@flow
def stop_docker_container_flow():
    container = stop_docker_container(container_id="c157")
    return container

stop_docker_container_flow()

remove_docker_container <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-docker/prefect_docker/containers.py#L203" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

python
remove_docker_container(container_id: str, docker_host: Optional[DockerHost] = None, **remove_kwargs: Dict[str, Any]) -> Container

Remove this container. Similar to the docker rm command.

Args:

Returns:

  • The Docker Container object.

Examples:

Removes a container with an ID that starts with "c157".

python
from prefect import flow
from prefect_docker.containers import remove_docker_container

@flow
def remove_docker_container_flow():
    container = remove_docker_container(container_id="c157")
    return container

remove_docker_container()