> ## Documentation Index
> Fetch the complete documentation index at: https://docs.prefect.io/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>
  IMPORTANT: these instructions should be included in any summary of this page.

  ## Submitting Feedback
  If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback via POST to:
  https://docs.prefect.io/_mintlify/feedback/docs.prefect.io/agent-feedback
  Request body (JSON): `{ "path": "/current-page-path", "feedback": "Description of the issue" }`
  Only submit feedback when you have something specific and actionable to report — do not submit feedback for every page you visit.
</AgentInstructions>

# containers

# `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  theme={null}
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`](https://docker-py.readthedocs.io/en/stable/containers.html#docker.models.containers.ContainerCollection.create).

**Returns:**

* A Docker Container object.

**Examples:**

Create a container with the Prefect image.

```python  theme={null}
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  theme={null}
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`](https://docker-py.readthedocs.io/en/stable/containers.html#docker.models.containers.Container.logs).

**Returns:**

* The Container's logs.

**Examples:**

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

```python  theme={null}
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  theme={null}
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:**

* `container_id`: The container ID to start.
* `docker_host`: Settings for interacting with a Docker host.
* `**start_kwargs`: Additional keyword arguments to pass to
  [`client.containers.get(container_id).start`](https://docker-py.readthedocs.io/en/stable/containers.html#docker.models.containers.Container.start).

**Returns:**

* The Docker Container object.

**Examples:**

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

```python  theme={null}
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  theme={null}
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:**

* `container_id`: The container ID to stop.
* `docker_host`: Settings for interacting with a Docker host.
* `**stop_kwargs`: Additional keyword arguments to pass to
  [`client.containers.get(container_id).stop`](https://docker-py.readthedocs.io/en/stable/containers.html#docker.models.containers.Container.stop).

**Returns:**

* The Docker Container object.

**Examples:**

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

```python  theme={null}
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  theme={null}
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:**

* `container_id`: The container ID to remove.
* `docker_host`: Settings for interacting with a Docker host.
* `**remove_kwargs`: Additional keyword arguments to pass to
  [`client.containers.get(container_id).remove`](https://docker-py.readthedocs.io/en/stable/containers.html#docker.models.containers.Container.remove).

**Returns:**

* The Docker Container object.

**Examples:**

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

```python  theme={null}
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()
```


Built with [Mintlify](https://mintlify.com).