# How to Create a container?

#### Using GUI

<mark style="color:blue;">Notice: Each tenant can only have a maximum of 10 containers. If you have reached this limit, please delete unused container to create a new one.</mark>

1. Select GPU Container in the Side menu and click button “Create New Container”
2. Give your container a name using **Container Name** field.
3. Select a GPU Instance (we currently support NVIDIA GPU H100 and H200)
4. **Template**: Users can either choose to use built-in templates or use their own images. We highly recommend that our customers to use built-in templates for faster deployment.

**a. Built-in templates**: Click “Change Template” and choose the template.

![](/files/c12811c0927eededc8e7d858786666312f4fa755)

**b. Custom template**: Bring your own template by using the feature “Custom Template”.&#x20;

<figure><img src="/files/742cebccbf7d9bd7da352689c5681784a3af5cb0" alt=""><figcaption></figcaption></figure>

5. **Access container**

**a. Ports**

This feature significantly enhances the flexibility of your containerized applications, allowing a single container to serve diverse functionalities on different ports.

Both HTTP and TCP ports are supported, with a maximum of 10 ports per type for each container.

**b. SSH**

Add SSH keys to enable remote access to your container. **Each container** **supports a maximum of 10 SSH keys**. These keys will be injected into the container at runtime, allowing you to SSH into the container using any of the provided keys.

*Notice: Currently, v1.1.2 GPU Container only Ubuntu, Pytorch, CUDA, Tensorflow template already includes SSH configuration. If you want to connect via SSH in other templates, please install OpenSSH-server before using.*

To add an SSH key, please follow the instructions:

1. Ensure you have an SSH key pair generated on your local machine. If you haven’t done this, you can generate one using this command on your local terminal:

`ssh-keygen -t ed25519 -C [YOUR_EMAIL@DOMAIN.COM](mailto:YOUR_EMAIL@DOMAIN.COM)`

2. To retrieve your public SSH key, run this command:

`cat ~/.ssh/id_ed25519.pub`

This will output something similar to this:

`ssh-ed25519 AAAAC4NzaC1lZDI1JTE5AAAAIGP+L8hnjIcBqUb8NRrDiC32FuJBvRA0m8jLShzgq6BQ YOUR_EMAIL@DOMAIN.COM`

3. Copy and paste the output into the SSH Public Keys field when you create the container.

![Picture](/files/edaf541e4d7270b48488609c93915f129669be0f)

6. **Advanced Settings** (**Optional**)

**a. Persistent Disk**: specify the amount of storage that users need to store training weights, models, etc. Read more about Storage [here](/fpt-gpu-cloud/gpu-container/tutorials.md#storage)

**b. Environment Variables:** key-value pairs injected into the container at runtime.

**c. Startup Command:** command and arguments to run at the start of container

7. Click “**Create New Container**” to create and start your container.
8. In case your balance is not enough to create a new container (lower cost of using the container for 1 hour), please follow these instructions to add credit to your account  here[^1]

#### Importing YAML file

For quick deployment, or when you already have a configuration file prepared, use this feature to create a container rather than configuring it through the user interface.

**Step 1: Open Import Configuration modal**

1. Navigate to GPU Container from the side menu.
2. Click Import Configuration located on the top right of the container list page.

![](/files/7276ea4412bb8f663b7ae41daf2a604d2e03e150)

**Step 2: Provide configuration file in YAML format**

You can import the configuration in two ways:

* Paste YAML directly into the YAML editor.
* Upload a YAML file by clicking the Upload file button. Currently, GPU Container supports YAML files only.

A sample YAML template can be downloaded by clicking **Download template**.

![](/files/f466c859187f51820d19ff77159211427effd69b)

| **Field**              | **Data type** | **Sample data**         | **Description**                                                                                                                                                                                                                                                                                                |
| ---------------------- | ------------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name                   | string        | my-container            | Name of your container. Must be unique per tenant                                                                                                                                                                                                                                                              |
| instance\_type         | string        | GPU-H100-1              | Vietnam site supports 1xH100 -> 8xH100; Japan site supports 1xH200 -> 8xH200                                                                                                                                                                                                                                   |
| **image\_setting**     |               |                         | Since a container can only have 1 image, please provide either **template\_name** or **image\_url + image\_tag**                                                                                                                                                                                               |
| template\_name         | string        | Jupyter Notebook        | Built-in template name. Provides this in case you want to use built-in template provided by FPT. Please input an exact name in the list: Jupyter Notebook, Code Server, vllm-openai, vllm-openai-v0.10.1, ollama, ollama-openwebui, Ubuntu 24.04, Tensorflow 2.19.0, Nvidia Cuda 12.9.1, NVIDIA Pytorch 25.03. |
| image\_url             | string        | registry/myimage:latest | (Optional) Custom image URL. Leave blank if using the built-in template.                                                                                                                                                                                                                                       |
| image\_tag             | string        | v1.0                    | (Optional) Tag for custom image.                                                                                                                                                                                                                                                                               |
| image\_user            | string        | admin                   | (Optional) Username for private image registry.                                                                                                                                                                                                                                                                |
| image\_password        | string        | password123             | (Optional) Password for private image registry                                                                                                                                                                                                                                                                 |
| **access\_container**  |               |                         |                                                                                                                                                                                                                                                                                                                |
| tcp\_ports             | list\[int]    | \[22, 33]               | TCP ports exposed by the container                                                                                                                                                                                                                                                                             |
| http\_ports            | list\[int]    | \[8888, 6006]           | HTTP ports exposed by the container                                                                                                                                                                                                                                                                            |
| ssh\_keys              |               |                         | Provide each pair of name-key SSH keys. Allow a maximum of 10 keys                                                                                                                                                                                                                                             |
| name                   | string        | key01                   | Name of the SSH key                                                                                                                                                                                                                                                                                            |
| key                    | string        | "ssh-rsa AAAAB3..."     | SSH public key                                                                                                                                                                                                                                                                                                 |
| **advanced\_settings** |               |                         |                                                                                                                                                                                                                                                                                                                |
| persistent\_disk       |               |                         |                                                                                                                                                                                                                                                                                                                |
| mount\_capacity        | int (GB)      | 20                      | Amount of persistent storage to attach.                                                                                                                                                                                                                                                                        |
| mount\_path            | string        | /workspace              | Path where persistent disk will be mounted inside the container.                                                                                                                                                                                                                                               |
| environment\_variables |               |                         |                                                                                                                                                                                                                                                                                                                |
| key                    | string        | USERNAME                | Environment variables injected at runtime.                                                                                                                                                                                                                                                                     |
| value                  | string        | admin                   |                                                                                                                                                                                                                                                                                                                |
| startup\_commands      |               |                         |                                                                                                                                                                                                                                                                                                                |
| cmds                   | list\[string] |                         | Startup commands (optional).                                                                                                                                                                                                                                                                                   |
| args                   | list\[string] |                         | Startup command arguments (optional).                                                                                                                                                                                                                                                                          |

**Step 3: Review Configuration**

**Notice:** The button “Review" will only be enabled when all the validations within the YAML editor have passed.

Click **Review** to continue. On this screen, you can:

* Verify container configuration, including template, GPU, CPU, RAM, and disk allocation.
* Check the pricing summary to view the estimated hourly cost.

![](/files/7c687ec8729df35267bea1779c36e09758461e2b)

**Step 4: Create Container**

Once confirmed, click **Create Container** to start deployment. The system will automatically create and launch your container based on the provided configuration file.

#### Export Container Configuration

For later reuse, the Export Configuration feature allows you to save a container’s configuration and download it into a YAML file.

1. From the List Containers screen, click the Action (3-dot) menu and select Export Configuration.

![](/files/74b4154eb49c37177134314f13e28c7d5c8aad44)

1. Alternatively, open the Container Details page and click Export Configuration.

![](/files/50a89fb0cb71dc30887bf6c83715c3e13622a58e)

A YAML file will be automatically downloaded with the name format: **container-name.yaml**

[^1]:


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ai-docs.fptcloud.com/fpt-gpu-cloud/gpu-container/tutorials/how-to-create-a-container.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
