# Source: https://docs.runpod.io/runpodctl/reference/runpodctl-create-pod.md

> **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.

## create pod

Create and start a new Pod on Runpod with configuration options for GPU type, storage, networking, and cloud tier.

<RequestExample>
  ```sh Command theme={"theme":{"light":"github-light","dark":"github-dark"}}
  runpodctl create pod [flags]
  ```
</RequestExample>

## Example

Create a Pod with 2 RTX 4090 GPUs in the Secure Cloud with a custom container image:

```sh  theme={"theme":{"light":"github-light","dark":"github-dark"}}
runpodctl create pod \
  --name "my-training-pod" \
  --gpuType "NVIDIA GeForce RTX 3090" \
  --gpuCount 2 \
  --secureCloud \
  --imageName "runpod/pytorch:2.0.1-py3.10-cuda11.8.0-devel" \
  --containerDiskSize 50 \
  --volumeSize 100
```

## Flags

<ResponseField name="--name" type="string">
  A custom name for your Pod to make it easy to identify and reference.
</ResponseField>

<ResponseField name="--gpuType" type="string">
  The GPU type to use for the Pod (e.g., `NVIDIA GeForce RTX 4090`, `NVIDIA B200`, `NVIDIA L40S`). Use the GPU ID (long form) from the [GPU types reference](/references/gpu-types) table to specify the GPU type.
</ResponseField>

<ResponseField name="--gpuCount" type="integer" default={1}>
  The number of GPUs to allocate to the Pod.
</ResponseField>

<ResponseField name="--secureCloud">
  Create the Pod in the Secure Cloud tier, which offers enterprise-grade infrastructure with enhanced reliability.
</ResponseField>

<ResponseField name="--communityCloud">
  Create the Pod in the Community Cloud tier, which typically offers lower pricing with spot instance availability.
</ResponseField>

<ResponseField name="--imageName" type="string">
  The Docker container image to use for the Pod (e.g., `runpod/pytorch:latest`).
</ResponseField>

<ResponseField name="--templateId" type="string">
  The ID of a template to use for Pod configuration, which pre-defines the image and environment settings.
</ResponseField>

<ResponseField name="--containerDiskSize" type="integer" default={20}>
  The size of the container disk in gigabytes, used for temporary storage within the container.
</ResponseField>

<ResponseField name="--volumeSize" type="integer" default={1}>
  The size of the persistent volume in gigabytes, which retains data across Pod restarts.
</ResponseField>

<ResponseField name="--volumePath" type="string" default="/workspace">
  The mount path for the persistent volume inside the container.
</ResponseField>

<ResponseField name="--networkVolumeId" type="string">
  The ID of an existing [network volume](/storage/network-volumes) to attach to the Pod for shared storage across multiple Pods.
</ResponseField>

<ResponseField name="--cost" type="float">
  The maximum price ceiling in dollars per hour. If not specified, the Pod will be created at the lowest available price.
</ResponseField>

<ResponseField name="--mem" type="integer" default={20}>
  The minimum system memory required in gigabytes.
</ResponseField>

<ResponseField name="--vcpu" type="integer" default={1}>
  The minimum number of vCPUs required for the Pod.
</ResponseField>

<ResponseField name="--env" type="string">
  Environment variables to set in the container. Specify multiple times for multiple variables (e.g., `--env KEY1=VALUE1 --env KEY2=VALUE2`).
</ResponseField>

<ResponseField name="--args" type="string">
  Additional arguments to pass to the container when it starts.
</ResponseField>

<ResponseField name="--ports" type="string">
  Ports to expose from the container. Maximum of 1 HTTP port and 1 TCP port allowed (e.g., `--ports 8888/http --ports 22/tcp`).
</ResponseField>

## Related commands

* [`runpodctl create pods`](/runpodctl/reference/runpodctl-create-pods)