713 views
--- title: 容器服務 description: OneAI 文件 --- [OneAI 文件](/s/user-guide) # 容器服務 容器服務提供容器輕量化、秒級部署以及彈性擴充計算資源等優點,讓您輕鬆地完成運算或推論等服務。 ## 建立容器服務 從 OneAI 服務列表選擇「**容器服務**」進入容器服務管理頁面,接著點擊「**+建立**」。 #### 1. 基本資訊 * 填寫容器服務基本資訊並選擇映像檔,接著點擊「**下一步:硬體設定>**」。 ![](/uploads/upload_161c9e458a2e803e3ecb0cb340fff828.png) :::info :bulb: **提示:** 映像檔來源有 **公用** 及 **私人** 兩種: * **公用映像檔**:由系統內建或由系統管理員所上傳,可以在不同專案中使用,請參見 [**公用映像檔說明**](/s/public-image)。 * **私人映像檔**:由專案成員上傳,僅可在該專案中使用,上傳映像檔請參見 [**容器映像檔說明**](/s/container-image)。 ::: #### 2. 硬體設定 * 依您的運算需求,選擇合適的硬體配置,亦可點擊「**查看目前已用配額**」,檢視目前專案及系統的資源配額及已用量,接著點擊「**下一步:儲存設定>**」。 #### 3. 儲存設定 * 此步驟將設定欲掛載的儲存體,您可將程式或資料預先上傳至 OneAI [**儲存服務**](/s/_F4C_EzEa) 的儲存體中,在使用本系統的各項服務時再掛載儲存體,同一個儲存體可以同時掛載到不同的服務,方便在各服務之間分享資料,或與其他專案成員協同合作。當停用或删除服務時,儲存體的資料不會消失。 * 儲存設定頁面的預設資訊會依所選擇的映像檔而不同,如不需使用可點擊 **删除** 圖示將之移除,或點擊「**新增**」增加掛載,請依您的需求自行修改,完成後請點擊「**下一步:網路設定**>」。 * 以下列舉不同公用映像檔類型的預設儲存設定: - **nvidia-official-images**:此類映像檔預設的掛載路徑為 **/root/notebooks**,這是 Jupyter 服務預設的工作目錄,如不需使用 Jupyter 服務可點擊 **删除** 圖示將之移除,或自行修改成其他的掛載路徑。<br> ![](/uploads/upload_9e201148a0f056421bcd817c212c2b28.png) - **notebook**:此類映像檔預設的掛載路徑為 **/workspace**,這是 [**筆記本服務**](/s/notebook) 預設的工作目錄,可與變數設定步驟中的 **環境變數** **`NOTEBOOK_FOLDER`** 搭配使用。<br> ![](/uploads/upload_dab858087e7435c233e1130b730c8d0c.png) - **AI Maker 案例教學映像檔**:除了以上兩大類,其他的公有映像檔是專為 AI Maker 案例教學所提供,每個映像檔的預設值可能有所不同,可依需求自行修改或配合 [**AI Maker 案例教學**](/s/user-guide#案例教學) 操作使用。 #### 4. 網路設定 * 請依所需提供的服務配置網路設定。 * 網路設定頁面的預設資訊會依所選擇的映像檔而不同,如果您所選擇的映像檔有預設的網路設定,系統會自動帶出,可依需求進行修改,如不需使用可略過或點擊 **删除** 圖示將之移除,下圖為啟用 8888 及 22 連接埠對外服務的設定,後續將說明 [**連線使用方式**](#連線使用方式)。 ![](/uploads/upload_7108ed1933579d5ae0eb53489072a868.png) * 點擊「**新增**」,可新增容器連線埠設定,詳細說明如下: - **連接埠**:依所需提供的服務設定連接埠,例如: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 連接埠,如需對外提供服務,請點擊 **鉛筆** 圖示修改,如不需使用可點擊 **删除** 圖示將之移除。 ![](/uploads/upload_2029f9e3e5b4dea160b43d92fb11b8d4.png) - **notebook**:此類映像檔中預載了 Jupyter 服務並預設 8888 連接埠,如需對外提供服務,請點擊 **鉛筆** 圖示 修改,如不需使用可略過或可點擊 **删除** 圖示將之移除,修改方式同上。<br> ![](/uploads/upload_e85a9b7d46a5a653fbde2d0395bc1c60.png) - **AI Maker 案例教學映像檔**:除了以上兩大類,其他的公有映像檔是專為 AI Maker 案例教學所提供,配合 [**AI Maker 案例教學**](/s/user-guide#案例教學) 操作使用,沒有預設的網路,可依需求自行修改。 * 完成後點擊「**下一步:變數設定**>」。 #### 5. 變數設定 * 設置環境變數及命令,可動態調整應用程式的設定或需執行的命令,以符合您對開發或運算環境的需求。變數設定頁面的預設資訊會依所選擇的映像檔而不同,如果您所選擇的映像檔有預設的變數設定,系統會自動帶出,可依需求進行修改或删除。 - 環境變數:設定環境變數,例如可將連線容器提供的 JupyterLab 登入密碼設為環境變數。 - 命令:輸入欲執行的命令或程式,例如 `python train.py`。請注意程式的路徑設置與前面 [**儲存設定**](#3-儲存設定) 中的掛載路徑有關。 * 以下列舉不同公用映像檔類型的預設設定: - **nvidia-official-images**:此類映像檔將 **Jupyter** 和 **SSH** 服務預設 的登入密碼設置成 **`PASSWORD`** 環境變數,並預設為 `yourPassword`,請記得修改,如不需使用可略過或清除。<br> ![](/uploads/upload_eee6d84739c25455e64b892433c781ae.png) - **notebook**:此類映像檔將 Jupyter 服務預設的工作目錄掛載路徑 **/workspace** 設置成 **`NOTEBOOK_FOLDER`** 環境變數,方便使用者在建立服務時修改,如不需使用可略過或清除。<br> ![](/uploads/upload_8cddcadcc2efd9e4ebef678217a1254e.png) - **AI Maker 案例教學映像檔**:除了以上兩大類,其他的公有映像檔是專為 AI Maker 案例教學所提供,配合 [**AI Maker 案例教學**](/s/user-guide#案例教學) 操作使用,沒有預設的變數設定,可依需求自行修改。 * 完成後點擊「**下一步:檢閱+建立>**」。 #### 6. 檢閱+建立 * 檢查容器服務的建立資訊,確定後點擊「**建立**」。 ## 容器服務管理 * 容器服務建立成功後會出現在容器服務列表,點擊該列表可查看容器服務的詳細資訊,容器服務狀態顯示為 **`Ready`** 時,即表示容器已正常啟動。 * 進入容器服務詳細資料頁面,可以檢視容器服務的各項設定,或透過上方的命令列圖示執行 **啟動**、**停止**、**編輯**、**删除**及 **重新整理** 等功能,說明如下: * **啟動**:啟動容器服務,若容器服務已啟動或在初始狀態下,此按鈕會變成灰色。 * **停止**:若容器服務暫不使用,可先停止以釋放系統資源。當需要使用時,再執行 **啟動**,但需注意啟動的時候可能遇到資源不足的情形。 * **編輯**:修改容器服務的設定資訊,操作步驟與建立容器服務類似。編輯完成後容器服務會自動重啟,需注意啟動的時候可能遇到資源不足的情形。 * **刪除**:若容器服務已不使用,點選 **刪除** 可將容器服務永久刪除,以節省資源。刪除完成後,容器服務將從列表上消失。 * **重新整理**:即時更新畫面上顯示的最新狀態及資訊。 :::info :bulb: **提示:** 請參考 [**服務狀態說明**](/s/service-state#容器服務),若服務建立不成功,建議先點擊「**查看日誌**」,依日誌資訊判斷可能的問題,例如:硬體資源不符需求、映像檔或程式執行錯誤等。 ::: :::info :bulb: **提示:** 容器服務一旦有重新啟動的行為,容器服務將回復初始設定的狀態,您於容器服務啟動後額外安裝的套件可能會消失。為避免在容器服務重新啟動後要重新安裝套件,建議可利用 [**變數設定步驟**](#5-變數設定) 中的 「**命令**」 欄位,設定容器服務啟動時需安裝的套件或程式。 ::: ![](/uploads/upload_edd5db5cf2c9d20a8107f6c5e1aaf2bb.png) ## 查看日誌 * 點擊「**查看日誌**」,可查看容器服務的日誌。 ![](/uploads/upload_4ed745b74994d6fcd7bdfbcbb140ffb3.png) ## 連線使用方式 * 當容器服務狀態呈現 **`Ready`** 即可開始使用。除了可透過系統提供的 **終端機** 快速連線之外,如果在建立容器服務選擇 **nvidia-official-images** 公用映像檔,並有開啟 **SSH** 或 **Jupyter** 服務,亦可使用其他的連線方式。 ### 使用終端機連線 * 點擊上方的「**終端機**」頁籤,可開啟終端機模式,進入此容器。 ![](/uploads/upload_0e7e2dc14b4c13283b2de0234565de4a.png) ### 使用 Jupyter 連線 * 在「**網路**」區塊,點擊連接埠 8888 右側的網址連結即可在瀏覽器中開啟 Jupyter 服務。 ![](/uploads/upload_a045cb9657320bf130d421615045026c.png) * 出現 Jupyter 服務的登入頁面後,請輸入在 [**變數設定**](#5-變數設定) 步驟中設定的 **`PASSWORD`** 變數值。 ![](/uploads/upload_dd65283a3fdd8a7d71c392ce90f1e439.png) * 登入成功後即可開始使用 **nvidia-official-images** 映像檔提供的 JupyterLab 服務。 ![](/uploads/upload_bf0cf612aae9f766b60108d551412e5a.png) ### 使用 SSH 登入連線 * 在本地電腦中,開啟命令提示字元視窗並透過 SSH 指令登入主機位址及 SSH 服務(容器連接埠 22)的對外埠,指令範例如下: ``` ssh root@{主機位址} -p {對外埠} ``` :::info :bulb: **提示:** 主機位址及對外埠會顯示在連接埠 22 右側的網址連結,SSH 服務登入密碼即為在 [**變數設定**](#5-變數設定) 步驟中的 **`PASSWORD`** 變數設定值,請以您設定的密碼登入。 ::: ![](/uploads/upload_70f2d3c731e1dbf5b35d4287be4b1e6d.png) :::info :bulb: **提示:** **SSH 服務使用提醒** 並非所有的 Linux 系統都有預載 SSH 服務,在 [**網路設定**](#4-網路設定) 步驟中,若出現 22 連接埠的預設設定,表示該公用映像檔(例如:nvidia-official-images)已啟用 SSH 服務。若選用的映像檔沒有出現 22 連接埠的預設設定,您可能需要自行安裝 SSH 服務。 :::