Welcome to Pulumi Registry, your window into the cloud. Read the announcement.

Volume

Creates and destroys a volume in Docker. This can be used alongside docker.Container to prepare volumes that can be shared across containers.

Schema

Optional

  • driver (String) Driver type for the volume. Defaults to local.
  • driver_opts (Map of String) Options specific to the driver.
  • id (String) The ID of this resource.
  • labels (Block Set) User-defined key/value metadata (see below for nested schema)
  • name (String) The name of the Docker volume (will be generated if not provided).

Read-Only

  • mountpoint (String) The mountpoint of the volume.

Nested Schema for labels

Required:

  • label (String) Name of the label
  • value (String) Value of the label

Example Usage

using Pulumi;
using Docker = Pulumi.Docker;

class MyStack : Stack
{
    public MyStack()
    {
        var sharedVolume = new Docker.Volume("sharedVolume", new Docker.VolumeArgs
        {
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-docker/sdk/v3/go/docker"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := docker.NewVolume(ctx, "sharedVolume", nil)
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_docker as docker

shared_volume = docker.Volume("sharedVolume")
import * as pulumi from "@pulumi/pulumi";
import * as docker from "@pulumi/docker";

const sharedVolume = new docker.Volume("shared_volume", {});

Create a Volume Resource

new Volume(name: string, args?: VolumeArgs, opts?: CustomResourceOptions);
@overload
def Volume(resource_name: str,
           opts: Optional[ResourceOptions] = None,
           driver: Optional[str] = None,
           driver_opts: Optional[Mapping[str, Any]] = None,
           labels: Optional[Sequence[VolumeLabelArgs]] = None,
           name: Optional[str] = None)
@overload
def Volume(resource_name: str,
           args: Optional[VolumeArgs] = None,
           opts: Optional[ResourceOptions] = None)
func NewVolume(ctx *Context, name string, args *VolumeArgs, opts ...ResourceOption) (*Volume, error)
public Volume(string name, VolumeArgs? args = null, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args VolumeArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args VolumeArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args VolumeArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args VolumeArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

Volume Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

The Volume resource accepts the following input properties:

Driver string
Driver type for the volume. Defaults to local.
DriverOpts Dictionary<string, object>
Options specific to the driver.
Labels List<VolumeLabelArgs>
User-defined key/value metadata
Name string
The name of the Docker volume (will be generated if not provided).
Driver string
Driver type for the volume. Defaults to local.
DriverOpts map[string]interface{}
Options specific to the driver.
Labels []VolumeLabelArgs
User-defined key/value metadata
Name string
The name of the Docker volume (will be generated if not provided).
driver string
Driver type for the volume. Defaults to local.
driverOpts {[key: string]: any}
Options specific to the driver.
labels VolumeLabelArgs[]
User-defined key/value metadata
name string
The name of the Docker volume (will be generated if not provided).
driver str
Driver type for the volume. Defaults to local.
driver_opts Mapping[str, Any]
Options specific to the driver.
labels Sequence[VolumeLabelArgs]
User-defined key/value metadata
name str
The name of the Docker volume (will be generated if not provided).

Outputs

All input properties are implicitly available as output properties. Additionally, the Volume resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Mountpoint string
The mountpoint of the volume.
Id string
The provider-assigned unique ID for this managed resource.
Mountpoint string
The mountpoint of the volume.
id string
The provider-assigned unique ID for this managed resource.
mountpoint string
The mountpoint of the volume.
id str
The provider-assigned unique ID for this managed resource.
mountpoint str
The mountpoint of the volume.

Look up an Existing Volume Resource

Get an existing Volume resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: VolumeState, opts?: CustomResourceOptions): Volume
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        driver: Optional[str] = None,
        driver_opts: Optional[Mapping[str, Any]] = None,
        labels: Optional[Sequence[VolumeLabelArgs]] = None,
        mountpoint: Optional[str] = None,
        name: Optional[str] = None) -> Volume
func GetVolume(ctx *Context, name string, id IDInput, state *VolumeState, opts ...ResourceOption) (*Volume, error)
public static Volume Get(string name, Input<string> id, VolumeState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

Driver string
Driver type for the volume. Defaults to local.
DriverOpts Dictionary<string, object>
Options specific to the driver.
Labels List<VolumeLabelArgs>
User-defined key/value metadata
Mountpoint string
The mountpoint of the volume.
Name string
The name of the Docker volume (will be generated if not provided).
Driver string
Driver type for the volume. Defaults to local.
DriverOpts map[string]interface{}
Options specific to the driver.
Labels []VolumeLabelArgs
User-defined key/value metadata
Mountpoint string
The mountpoint of the volume.
Name string
The name of the Docker volume (will be generated if not provided).
driver string
Driver type for the volume. Defaults to local.
driverOpts {[key: string]: any}
Options specific to the driver.
labels VolumeLabelArgs[]
User-defined key/value metadata
mountpoint string
The mountpoint of the volume.
name string
The name of the Docker volume (will be generated if not provided).
driver str
Driver type for the volume. Defaults to local.
driver_opts Mapping[str, Any]
Options specific to the driver.
labels Sequence[VolumeLabelArgs]
User-defined key/value metadata
mountpoint str
The mountpoint of the volume.
name str
The name of the Docker volume (will be generated if not provided).

Supporting Types

VolumeLabel

Label string
Value string
Label string
Value string
label string
value string
label str
value str

Import

Example Assuming you created a volume as follows #!/bin/bash docker volume create # prints the long ID 524b0457aa2a87dd2b75c74c3e4e53f406974249e63ab3ed9bf21e5644f9dc7d you provide the definition for the resource as follows terraform resource “docker_volume” “foo” {

name = “524b0457aa2a87dd2b75c74c3e4e53f406974249e63ab3ed9bf21e5644f9dc7d” } then the import command is as follows #!/bin/bash

 $ pulumi import docker:index/volume:Volume foo 524b0457aa2a87dd2b75c74c3e4e53f406974249e63ab3ed9bf21e5644f9dc7d

Package Details

Repository
https://github.com/pulumi/pulumi-docker
License
Apache-2.0
Notes
This Pulumi package is based on the docker Terraform Provider.