---
title: 容器服務
description: OneAI 文件
---
[OneAI 文件](/s/user-guide)
# 容器服務
容器服務提供容器輕量化、秒級部署以及彈性擴充計算資源等優點,讓您輕鬆地完成運算或推論等服務。
## 建立容器服務
從 OneAI 服務列表選擇「**容器服務**」進入容器服務管理頁面,接著點擊「**+建立**」。
#### 1. 基本資訊
* 填寫容器服務基本資訊並選擇映像檔,接著點擊「**下一步:硬體設定>**」。

:::info
:bulb: **提示:** 映像檔來源有 **公用** 及 **私人** 兩種:
* **公用映像檔**:由系統內建或由系統管理員所上傳,可以在不同專案中使用,請參見 [**公用映像檔說明**](/s/public-image)。
* **私人映像檔**:由專案成員上傳,僅可在該專案中使用,上傳映像檔請參見 [**容器映像檔說明**](/s/container-image)。
:::
#### 2. 硬體設定
* 依您的運算需求,選擇合適的硬體配置,亦可點擊「**查看目前已用配額**」,檢視目前專案及系統的資源配額及已用量,接著點擊「**下一步:儲存設定>**」。
#### 3. 儲存設定
* 此步驟將設定欲掛載的儲存體,您可將程式或資料預先上傳至 OneAI [**儲存服務**](/s/_F4C_EzEa) 的儲存體中,在使用本系統的各項服務時再掛載儲存體,同一個儲存體可以同時掛載到不同的服務,方便在各服務之間分享資料,或與其他專案成員協同合作。當停用或删除服務時,儲存體的資料不會消失。
* 儲存設定頁面的預設資訊會依所選擇的映像檔而不同,如不需使用可點擊 **删除** 圖示將之移除,或點擊「**新增**」增加掛載,請依您的需求自行修改,完成後請點擊「**下一步:網路設定**>」。
* 以下列舉不同公用映像檔類型的預設儲存設定:
- **nvidia-official-images**:此類映像檔預設的掛載路徑為 **/root/notebooks**,這是 Jupyter 服務預設的工作目錄,如不需使用 Jupyter 服務可點擊 **删除** 圖示將之移除,或自行修改成其他的掛載路徑。<br>

- **notebook**:此類映像檔預設的掛載路徑為 **/workspace**,這是 [**筆記本服務**](/s/notebook) 預設的工作目錄,可與變數設定步驟中的 **環境變數** **`NOTEBOOK_FOLDER`** 搭配使用。<br>

- **AI Maker 案例教學映像檔**:除了以上兩大類,其他的公有映像檔是專為 AI Maker 案例教學所提供,每個映像檔的預設值可能有所不同,可依需求自行修改或配合 [**AI Maker 案例教學**](/s/user-guide#案例教學) 操作使用。
#### 4. 網路設定
* 請依所需提供的服務配置網路設定。
* 網路設定頁面的預設資訊會依所選擇的映像檔而不同,如果您所選擇的映像檔有預設的網路設定,系統會自動帶出,可依需求進行修改,如不需使用可略過或點擊 **删除** 圖示將之移除,下圖為啟用 8888 及 22 連接埠對外服務的設定,後續將說明 [**連線使用方式**](#連線使用方式)。

* 點擊「**新增**」,可新增容器連線埠設定,詳細說明如下:
- **連接埠**:依所需提供的服務設定連接埠,例如:SSH 服務預設為 22、Jupyter 服務預設為 8888 等。
- **對外服務**:選擇對外服務的連接埠。
* **Null**:不提供對外服務,但可於透過本系統的其他服務連線使用。
* **Auto Generation**:自動分配連接埠,如需對外供服務建議選用此設定。
* **Static Port (30000-32767)**:手動設定 30000-32767 之間任一連接埠做為對外埠,但若所設定的連接埠已被使用,容器服務將無法成功建立。
- **對外埠**:當 **對外服務** 選擇 **Static Port (30000-32767)** 時,才會出現此項目,請輸入 30000-32767 之間任一連接埠做為對外埠。
- **服務協定**:選擇 **UDP** 或 **TCP** 通訊協定。
- **網址連結**:勾選 **提供網址連結** 在容器服務建立後會在此設定列的右側出現該服務的網址連結,點擊該網址連結即可開啟服務,例如:若容器連線埠設定為 8888 可開啟 Jupyter 服務(參考:[**使用 Jupyter 連線**](#使用-Jupyter-連線))。
<center><img src="/uploads/upload_1878358adfecb83a1f43305670c63018.png" width="520"></center><br>
* 以下列舉不同公用映像檔類型的預設設定:
- **nvidia-official-images**:此類映像檔中預載了 Jupyter 和 SSH 服務,並預設 8888 和 22 連接埠,如需對外提供服務,請點擊 **鉛筆** 圖示修改,如不需使用可點擊 **删除** 圖示將之移除。

- **notebook**:此類映像檔中預載了 Jupyter 服務並預設 8888 連接埠,如需對外提供服務,請點擊 **鉛筆** 圖示 修改,如不需使用可略過或可點擊 **删除** 圖示將之移除,修改方式同上。<br>

- **AI Maker 案例教學映像檔**:除了以上兩大類,其他的公有映像檔是專為 AI Maker 案例教學所提供,配合 [**AI Maker 案例教學**](/s/user-guide#案例教學) 操作使用,沒有預設的網路,可依需求自行修改。
* 完成後點擊「**下一步:變數設定**>」。
#### 5. 變數設定
* 設置環境變數及命令,可動態調整應用程式的設定或需執行的命令,以符合您對開發或運算環境的需求。變數設定頁面的預設資訊會依所選擇的映像檔而不同,如果您所選擇的映像檔有預設的變數設定,系統會自動帶出,可依需求進行修改或删除。
- 環境變數:設定環境變數,例如可將連線容器提供的 JupyterLab 登入密碼設為環境變數。
- 命令:輸入欲執行的命令或程式,例如 `python train.py`。請注意程式的路徑設置與前面 [**儲存設定**](#3-儲存設定) 中的掛載路徑有關。
* 以下列舉不同公用映像檔類型的預設設定:
- **nvidia-official-images**:此類映像檔將 **Jupyter** 和 **SSH** 服務預設 的登入密碼設置成 **`PASSWORD`** 環境變數,並預設為 `yourPassword`,請記得修改,如不需使用可略過或清除。<br>

- **notebook**:此類映像檔將 Jupyter 服務預設的工作目錄掛載路徑 **/workspace** 設置成 **`NOTEBOOK_FOLDER`** 環境變數,方便使用者在建立服務時修改,如不需使用可略過或清除。<br>

- **AI Maker 案例教學映像檔**:除了以上兩大類,其他的公有映像檔是專為 AI Maker 案例教學所提供,配合 [**AI Maker 案例教學**](/s/user-guide#案例教學) 操作使用,沒有預設的變數設定,可依需求自行修改。
* 完成後點擊「**下一步:檢閱+建立>**」。
#### 6. 檢閱+建立
* 檢查容器服務的建立資訊,確定後點擊「**建立**」。
## 容器服務管理
* 容器服務建立成功後會出現在容器服務列表,點擊該列表可查看容器服務的詳細資訊,容器服務狀態顯示為 **`Ready`** 時,即表示容器已正常啟動。
* 進入容器服務詳細資料頁面,可以檢視容器服務的各項設定,或透過上方的命令列圖示執行 **啟動**、**停止**、**編輯**、**删除**及 **重新整理** 等功能,說明如下:
* **啟動**:啟動容器服務,若容器服務已啟動或在初始狀態下,此按鈕會變成灰色。
* **停止**:若容器服務暫不使用,可先停止以釋放系統資源。當需要使用時,再執行 **啟動**,但需注意啟動的時候可能遇到資源不足的情形。
* **編輯**:修改容器服務的設定資訊,操作步驟與建立容器服務類似。編輯完成後容器服務會自動重啟,需注意啟動的時候可能遇到資源不足的情形。
* **刪除**:若容器服務已不使用,點選 **刪除** 可將容器服務永久刪除,以節省資源。刪除完成後,容器服務將從列表上消失。
* **重新整理**:即時更新畫面上顯示的最新狀態及資訊。
:::info
:bulb: **提示:** 請參考 [**服務狀態說明**](/s/service-state#容器服務),若服務建立不成功,建議先點擊「**查看日誌**」,依日誌資訊判斷可能的問題,例如:硬體資源不符需求、映像檔或程式執行錯誤等。
:::
:::info
:bulb: **提示:** 容器服務一旦有重新啟動的行為,容器服務將回復初始設定的狀態,您於容器服務啟動後額外安裝的套件可能會消失。為避免在容器服務重新啟動後要重新安裝套件,建議可利用 [**變數設定步驟**](#5-變數設定) 中的 「**命令**」 欄位,設定容器服務啟動時需安裝的套件或程式。
:::

## 查看日誌
* 點擊「**查看日誌**」,可查看容器服務的日誌。

## 連線使用方式
* 當容器服務狀態呈現 **`Ready`** 即可開始使用。除了可透過系統提供的 **終端機** 快速連線之外,如果在建立容器服務選擇 **nvidia-official-images** 公用映像檔,並有開啟 **SSH** 或 **Jupyter** 服務,亦可使用其他的連線方式。
### 使用終端機連線
* 點擊上方的「**終端機**」頁籤,可開啟終端機模式,進入此容器。

### 使用 Jupyter 連線
* 在「**網路**」區塊,點擊連接埠 8888 右側的網址連結即可在瀏覽器中開啟 Jupyter 服務。

* 出現 Jupyter 服務的登入頁面後,請輸入在 [**變數設定**](#5-變數設定) 步驟中設定的 **`PASSWORD`** 變數值。

* 登入成功後即可開始使用 **nvidia-official-images** 映像檔提供的 JupyterLab 服務。

### 使用 SSH 登入連線
* 在本地電腦中,開啟命令提示字元視窗並透過 SSH 指令登入主機位址及 SSH 服務(容器連接埠 22)的對外埠,指令範例如下:
```
ssh root@{主機位址} -p {對外埠}
```
:::info
:bulb: **提示:** 主機位址及對外埠會顯示在連接埠 22 右側的網址連結,SSH 服務登入密碼即為在 [**變數設定**](#5-變數設定) 步驟中的 **`PASSWORD`** 變數設定值,請以您設定的密碼登入。
:::

:::info
:bulb: **提示:** **SSH 服務使用提醒**
並非所有的 Linux 系統都有預載 SSH 服務,在 [**網路設定**](#4-網路設定) 步驟中,若出現 22 連接埠的預設設定,表示該公用映像檔(例如:nvidia-official-images)已啟用 SSH 服務。若選用的映像檔沒有出現 22 連接埠的預設設定,您可能需要自行安裝 SSH 服務。
:::