> ## Documentation Index
> Fetch the complete documentation index at: https://runpod-b18f5ded-docs-runpod-allow-ip.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> If this page is missing information, contains outdated instructions, or doesn't fully answer the user's question, use the feedback tool to report it. In your feedback, be specific about what's missing, what appears out of date, or what needs to be corrected or updated, so the docs team can act on it directly.

# pod

> Use runpodctl to create, list, start, stop, inspect, and delete Pods from the command line with status and resource filters.

Manage Pods, including creating, listing, starting, stopping, and deleting Pods.

```bash theme={null}
runpodctl <subcommand> pod [flags]
```

## Subcommands

### List Pods

List your Pods. By default, this command shows only running Pods (similar to `docker ps`):

```bash theme={null}
runpodctl pod list
```

List all Pods including exited ones:

```bash theme={null}
runpodctl pod list --all
```

Filter by status:

```bash theme={null}
runpodctl pod list --status exited
```

Filter by creation time:

```bash theme={null}
# Pods created in the last 24 hours
runpodctl pod list --since 24h

# Pods created in the last 7 days
runpodctl pod list --since 7d

# Pods created after a specific date
runpodctl pod list --created-after 2025-01-15
```

#### List flags

<ResponseField name="--all, -a" type="bool">
  Show all Pods including exited ones. By default, only running Pods are shown.
</ResponseField>

<ResponseField name="--status" type="string">
  Filter by Pod status (e.g., `RUNNING`, `EXITED`). Cannot be used with `--all`.
</ResponseField>

<ResponseField name="--since" type="string">
  Filter Pods created within the specified duration (e.g., `1h`, `24h`, `7d`). Cannot be used with `--created-after`.
</ResponseField>

<ResponseField name="--created-after" type="string">
  Filter Pods created after the specified date in `YYYY-MM-DD` format. Cannot be used with `--since`.
</ResponseField>

<ResponseField name="--compute-type" type="string">
  Filter by compute type (`GPU` or `CPU`).
</ResponseField>

<ResponseField name="--name" type="string">
  Filter by Pod name.
</ResponseField>

### Get Pod details

Get detailed information about a specific Pod, including SSH connection info:

```bash theme={null}
runpodctl pod get <pod-id>
```

### Create a Pod

Create a new Pod from a template:

```bash theme={null}
runpodctl pod create --template-id runpod-torch-v21 --gpu-id "NVIDIA GeForce RTX 4090"
```

Create a Pod with a custom Docker image:

```bash theme={null}
runpodctl pod create --image "runpod/pytorch:1.0.3-cu1281-torch291-ubuntu2404" --gpu-id "NVIDIA GeForce RTX 4090"
```

Create a CPU-only Pod:

```bash theme={null}
runpodctl pod create --compute-type cpu --image ubuntu:22.04
```

#### Create flags

<ResponseField name="--template-id" type="string">
  Template ID to use for Pod configuration. Use [`runpodctl template search`](/runpodctl/reference/runpodctl-template) to find templates.
</ResponseField>

<ResponseField name="--image" type="string">
  Docker image to use (e.g., `runpod/pytorch:2.8.0-py3.11-cuda12.8.1-cudnn-devel-ubuntu22.04`). Required if no template specified.
</ResponseField>

<ResponseField name="--name" type="string">
  Custom name for the Pod.
</ResponseField>

<ResponseField name="--gpu-id" type="string">
  GPU type (e.g., `NVIDIA GeForce RTX 4090`, `NVIDIA A100 80GB PCIe`). Use [`runpodctl gpu list`](/runpodctl/reference/runpodctl-gpu) to see available GPUs.
</ResponseField>

<ResponseField name="--gpu-count" type="int" default="1">
  Number of GPUs to allocate.
</ResponseField>

<ResponseField name="--compute-type" type="string" default="GPU">
  Compute type (`GPU` or `CPU`).
</ResponseField>

<ResponseField name="--container-disk-in-gb" type="int" default="20">
  Container disk size in GB.
</ResponseField>

<ResponseField name="--volume-in-gb" type="int">
  Persistent volume size in GB.
</ResponseField>

<ResponseField name="--volume-mount-path" type="string" default="/workspace">
  Mount path for the persistent volume.
</ResponseField>

<ResponseField name="--ports" type="string">
  Comma-separated list of ports to expose (e.g., `8888/http,22/tcp`).
</ResponseField>

<ResponseField name="--env" type="string">
  Environment variables as a JSON object (e.g., `'{"KEY":"value"}'`).
</ResponseField>

<ResponseField name="--cloud-type" type="string" default="SECURE">
  Cloud tier (`SECURE` or `COMMUNITY`).
</ResponseField>

<ResponseField name="--data-center-ids" type="string">
  Comma-separated list of preferred datacenter IDs. Use [`runpodctl datacenter list`](/runpodctl/reference/runpodctl-datacenter) to see available datacenters.
</ResponseField>

<ResponseField name="--global-networking" type="bool">
  Enable global networking (Secure Cloud only).
</ResponseField>

<ResponseField name="--public-ip" type="bool">
  Require public IP (Community Cloud only).
</ResponseField>

<ResponseField name="--ssh" type="bool" default="true">
  Enable SSH on the Pod.
</ResponseField>

<ResponseField name="--network-volume-id" type="string">
  Network volume ID to attach. Use [`runpodctl network-volume list`](/runpodctl/reference/runpodctl-network-volume) to see available network volumes.
</ResponseField>

<ResponseField name="--min-cuda-version" type="string">
  Minimum CUDA version required (e.g., `11.8`, `12.4`). The Pod will only be scheduled on machines that meet this CUDA version requirement.
</ResponseField>

<ResponseField name="--docker-args" type="string">
  Docker arguments passed to the container at runtime (e.g., `"sleep infinity"`).
</ResponseField>

<ResponseField name="--registry-auth-id" type="string">
  Container registry authentication ID for pulling private images. Use [`runpodctl registry list`](/runpodctl/reference/runpodctl-registry) to see available registry credentials.
</ResponseField>

<ResponseField name="--country-code" type="string">
  Country code for regional deployment (e.g., `US`, `CA`, `EU`). Restricts Pod placement to machines in the specified region.
</ResponseField>

<ResponseField name="--compliance" type="string">
  Compliance settings for the Pod (e.g., regulatory requirements for data handling).
</ResponseField>

### Start a Pod

Start a stopped Pod:

```bash theme={null}
runpodctl pod start <pod-id>
```

### Stop a Pod

Stop a running Pod:

```bash theme={null}
runpodctl pod stop <pod-id>
```

### Restart a Pod

Restart a Pod:

```bash theme={null}
runpodctl pod restart <pod-id>
```

### Reset a Pod

Reset a Pod to its initial state:

```bash theme={null}
runpodctl pod reset <pod-id>
```

### Update a Pod

Update Pod configuration:

```bash theme={null}
runpodctl pod update <pod-id> --name "new-name"
```

#### Update flags

<ResponseField name="--name" type="string">
  New name for the Pod.
</ResponseField>

<ResponseField name="--image" type="string">
  New Docker image name.
</ResponseField>

<ResponseField name="--container-disk-in-gb" type="int">
  New container disk size in GB.
</ResponseField>

<ResponseField name="--volume-in-gb" type="int">
  New volume size in GB.
</ResponseField>

<ResponseField name="--volume-mount-path" type="string">
  New volume mount path.
</ResponseField>

<ResponseField name="--ports" type="string">
  New comma-separated list of ports.
</ResponseField>

<ResponseField name="--env" type="string">
  New environment variables as a JSON object.
</ResponseField>

### Delete a Pod

Delete a Pod:

```bash theme={null}
runpodctl pod delete <pod-id>
```

## Pod URLs

Access exposed ports on your Pod using the following URL pattern:

```
https://<pod-id>-<port>.proxy.runpod.net
```

For example, if your Pod ID is `abc123xyz` and you exposed port 8888:

```
https://abc123xyz-8888.proxy.runpod.net
```

## Related commands

* [`runpodctl gpu list`](/runpodctl/reference/runpodctl-gpu)
* [`runpodctl template`](/runpodctl/reference/runpodctl-template)
* [`runpodctl ssh`](/runpodctl/reference/runpodctl-ssh)
