# Interfaz: Docker


**`Desde`**

0.2.0

## Propiedades

### cli

• `Readonly` **cli**: [`DockerCommand`](/reference/api/extensions-sdk/Docker/DockerCommand/)

También puedes ejecutar directamente el binario de Docker.

```typescript
const output = await ddClient.docker.cli.exec("volume", [
  "ls",
  "--filter",
  "dangling=true",
]);
```

Salida:

```json
{
  "stderr": "...",
  "stdout": "..."
}
```

Para mayor comodidad, el objeto de resultado del comando también tiene métodos para analizarlo fácilmente según el formato de salida. Consulta [ExecResult](/reference/api/extensions-sdk/Docker/ExecResult/) en su lugar.

---

Transmite en flujo (stream) la salida resultante de la ejecución de un comando de Docker.
Es útil cuando la salida del comando es demasiado larga o necesitas obtener la salida en forma de flujo.

```typescript
await ddClient.docker.cli.exec("logs", ["-f", "..."], {
  stream: {
    onOutput(data): void {
      // Como podemos recibir tanto `stdout` como `stderr`, los envolvemos en un objeto JSON
      JSON.stringify(
        {
          stdout: data.stdout,
          stderr: data.stderr,
        },
        null,
        "  ",
      );
    },
    onError(error: any): void {
      console.error(error);
    },
    onClose(exitCode: number): void {
      console.log("onClose con código de salida " + exitCode);
    },
  },
});
```

## Métodos

### listContainers

▸ **listContainers**(`options?`): `Promise`<`unknown`\>

Obtiene la lista de contenedores en ejecución (igual que `docker ps`).

Por defecto, esto no enumerará los contenedores detenidos.
Puedes usar la opción `{"all": true}` para enumerar todos los contenedores en ejecución y detenidos.

```typescript
const containers = await ddClient.docker.listContainers();
```

#### Parámetros

| Nombre     | Tipo  | Descripción                                                                                                                                                                                                                                                                                                                                         |
| :--------- | :---- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `options?` | `any` | (Opcional). Un JSON como `{ "all": true, "limit": 10, "size": true, "filters": JSON.stringify({ status: ["exited"] }), }`. Para obtener más información sobre las diferentes propiedades, consulta [la documentación del endpoint de la API de Docker](https://docs-docker.esdocu.com/reference/api/engine/version/v1.52/#operation/ContainerList). |

#### Devuelve

`Promise`<`unknown`\>

---

### listImages

▸ **listImages**(`options?`): `Promise`<`unknown`\>

Obtiene la lista de imágenes de contenedor locales

```typescript
const images = await ddClient.docker.listImages();
```

#### Parámetros

| Nombre     | Tipo  | Descripción                                                                                                                                                                                                                                                                                                                  |
| :--------- | :---- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `options?` | `any` | (Opcional). Un JSON como `{ "all": true, "filters": JSON.stringify({ dangling: ["true"] }), "digests": true * }`. Para obtener más información sobre las diferentes propiedades, consulta [la documentación del endpoint de la API de Docker](https://docs-docker.esdocu.com/reference/api/engine/version/v1.52/#tag/Image). |

#### Devuelve

`Promise`<`unknown`\>

