Choosing the right type of storage is crucial for optimizing your workloads, whether you need temporary storage for active computations, persistent storage for long-term data retention, or permanent, shareable storage across multiple Pods.

This page describes the different types of storage options available for your Pods, and when to use each in your workflow.

Container volume

A container volume houses the operating system and provides temporary storage for a Pod. It’s created when a Pod is launched and is directly tied to the Pod’s lifecycle.

Disk volume

A disk volume provides persistent storage that remains available for the duration of the Pod’s lease. It functions like a dedicated hard drive, allowing you to store data that needs to be retained even if the Pod is stopped or rebooted.

The disk volume is mounted at /workspace by default (this will be replaced by the network volume if one is attached). This can be changed by editing your Pod configuration.

Network volume

Network volumes offer persistent storage similar to the disk volume, but with the added benefit that they can be attached to multiple Pods, and that they persist independently from the Pod’s lifecycle. This allows you to share and access data across multiple instances or transfer storage between machines, and retain data even after a Pod is deleted.

When attached to a Pod, a network volume replaces the disk volume, and by default they are similarly mounted at /workspace.

To learn how to create and use network volumes, see Create a network volume.

Network volumes must be attached during Pod creation, and cannot be unattached later.

Storage type comparison

This table provides a comparative overview of the storage types available for your Pods:

FeatureContainer VolumeDisk VolumeNetwork Volume
Data persistenceVolatile (lost on stop/restart)Persistent (retained until Pod deletion)Permanent (retained independently from Pod lifecycles)
LifecycleTied directly to the Pod’s active sessionTied to the Pod’s lease periodIndependent, can outlive Pods
PerformanceFastest (locally attached)Reliable, generally slower than containerPerformance can vary (network dependent)
CapacityDetermined by Pod configurationSelectable at creationSelectable and often resizable
Cost$0.1/GB/month$0.1/GB/month$0.07/GB/month
Best forTemporary session data, cachePersistent application data, models, datasetsShared data, portable storage, collaborative workflows

Choosing the right storage

Here’s what you should consider when selecting storage for your Pods:

  • Data persistence needs: Does your data need to survive Pod restarts or deletions?
  • Performance requirements: Do your applications require very high-speed I/O, or is standard performance sufficient?
  • Data sharing: Do you need to share data between multiple Pods?

Modifying storage capacity

To update the size of a Pod’s container or disk volume:

  1. Navigate to the Pod page in the RunPod console.
  2. Expand the Pod you want to modify.
  3. Click the hamburger menu in the bottom right of the Pod card and select Edit Pod.
  4. Adjust the storage capacity for the container or disk volume. Disk volume size can be increased, but not decreased.
  5. Click Save to apply the changes.

Editing a running Pod will cause it to reset completely, erasing all data that isn’t stored in your disk/network volume mount path (/workspace by default).

Transferring data to another cloud provider

You can upload data from your Pod to AWS S3, Google Cloud Storage, Azure, Dropbox, and more by clicking the Cloud Sync button on the Pod page. For detailed instructions on connecting to these services, see Export data.

Next steps