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

# pod

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

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
runpodctl pod <subcommand> [flags]
```

## Subcommands

### List Pods

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

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
runpodctl pod list
```

List all Pods including exited ones:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
runpodctl pod list --all
```

Filter by status:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
runpodctl pod list --status exited
```

Filter by creation time:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
# 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={"theme":{"light":"github-light","dark":"github-dark"}}
runpodctl pod get <pod-id>
```

### Create a Pod

Create a new Pod from a template:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
runpodctl pod create --template-id runpod-torch-v21 --gpu-id "NVIDIA GeForce RTX 4090"
```

Create a Pod with a custom Docker image:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
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={"theme":{"light":"github-light","dark":"github-dark"}}
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:latest`). 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="--stop-after" type="string">
  Automatically stop the Pod after the specified duration (e.g., `1h`, `24h`, `7d`).
</ResponseField>

<ResponseField name="--terminate-after" type="string">
  Automatically terminate the Pod after the specified duration (e.g., `1h`, `24h`, `7d`). Unlike `--stop-after`, this permanently deletes the Pod.
</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={"theme":{"light":"github-light","dark":"github-dark"}}
runpodctl pod start <pod-id>
```

### Stop a Pod

Stop a running Pod:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
runpodctl pod stop <pod-id>
```

### Restart a Pod

Restart a Pod:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
runpodctl pod restart <pod-id>
```

### Reset a Pod

Reset a Pod to its initial state:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
runpodctl pod reset <pod-id>
```

### Update a Pod

Update Pod configuration:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
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={"theme":{"light":"github-light","dark":"github-dark"}}
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)
