# Volume

- Module: [Aspire.Hosting.Docker](/reference/api/typescript/aspire.hosting.docker.md)
- Version: `13.4.0`
- Kind: `handle`
- Source: [GitHub](https://github.com/microsoft/aspire)

Represents a volume definition in a Docker Compose configuration file.

## Definition

```typescript
interface Volume {
  driver: string;
  driverOpts: Dict<string,string>;
  external: boolean;
  labels: Dict<string,string>;
  name: string;
  readOnly: boolean;
  source: string;
  target: string;
  type: string;
}
```

## Properties

- `driver`: `string` `get - set` -- Gets or sets the name of the driver used for the volume. The driver is responsible for managing the volume and its storage backend.
- `driverOpts`: `Dict<string,string>` `get - set` -- Represents a collection of driver-specific options for the volume. These options are passed as key-value pairs to the volume driver, allowing customization or configuration specific to the driver being used.
- `external`: `boolean` `get - set` -- Indicates whether the volume is external to the current scope or environment. A value of `true` specifies that the volume is managed outside the scope of the current application or configuration. A value of `false`, or a null value, indicates that the volume is managed internally or by default behavior.
- `labels`: `Dict<string,string>` `get - set` -- Gets or sets a dictionary of labels associated with the volume. Labels are key-value pairs that can be used for metadata purposes or for organizing and identifying volumes within Docker services.
- `name`: `string` `get - set` -- Gets or sets the name of the Docker Compose member.
- `readOnly`: `boolean` `get - set` -- Gets or sets a value indicating whether the volume is mounted as read-only.
- `source`: `string` `get - set` -- Gets or sets the source property of the volume. The source defines the location on the host system or the specific resource from which the volume is sourced.
- `target`: `string` `get - set` -- Gets or sets the target path inside the container where the volume is mounted. This specifies the container location for the volume's data.
- `type`: `string` `get - set` -- Gets or sets the type of volume. This specifies the method of volume provisioning such as bind mounts, named volumes, or other supported volume types in Docker.
