---
title: 映像檔產生器
description: OneAI 文件
---
[OneAI 文件](/s/user-guide)
# 映像檔產生器
映像檔產生器提供簡單的操作介面,讓您基於系統提供的公用映像檔或同專案內的私有映像檔,安裝額外所需的工具或套件,在雲端快速產生客製化映像檔。新產生的客製化映像檔會存放在 [**容器映像檔**](/s/container-image) 中,方便與專案成員共享或統一管理。
## 建立映像檔產生器
從 OneAI 服務列表選擇「**映像檔產生器**」進入映像檔產生器管理頁面,接著點擊「**+ 建立**」。
:::info
:bulb: **提示:** 如果有需要複製檔案至映像檔中,請先將欲執行的程式或資料上傳至 OneAI 的 [**儲存服務**](/s/storage)。
:::
#### 1. 基本資訊
* 填寫建立映像檔產生器的基本資訊,接著點擊「**下一步:建置設定>**」。
- 基礎映像檔:點擊「**選擇**」選取 **公用** 或 **私人** 映像檔。
- 基礎映像檔標籤:選取基礎映像檔標籤。
- 映像檔儲存名稱:選取或輸入映像檔儲存名稱。
- 標籤:輸入您要建立的映像檔標籤,標籤不可重複。
- 描述:輸入此映像檔產生器的描述以方便辨識。

#### 2. 建置設定
* 接著進入映像檔產生器的建置設定頁面,請依照頁面上的提示設定。

* 映像檔產生器的建置設定說明:
- **Linux 套件**:點選套件管理工具 apt 或 yum,接著輸入Linux 套件名稱,每個套件名稱為獨立的一行,如畫面上提示:golang-go、wget。映像檔產生器會自動補齊特定命令,例如:apt install、apt update 或 yum install。

- **Python 套件**:點選套件管理程式 pip,目前支援 python 3 版本,接著輸入要安裝的 Python 套件名稱,每個套件名稱為獨立的一行,例如:wheel、certifi==2019.6.16,如畫面上提示,本服務會自動補齊特定命令,例如:pip install。

- **複製檔案**:如果有需要複製檔案至映像檔中,請先將欲執行的程式或資料上傳至 OneAI 的 [**儲存服務**](/s/storage)。點擊「**新增**」可設定要複製的檔案或目錄,目前僅能新增一組設定。
* 來源路徑:選擇儲存服務的儲存體,或點擊儲存體列表,選擇儲存體中的目錄或檔案。
* 目標路徑:指定存放檔案的路徑名稱。

- **命令**:點擊「**新增**」可新增一筆命令及參數設定,支援的命令如下,最多可設定 15 組命令。
* RUN:映像檔構建時執行的指令,如果指令超過一行,需要在前一行的結尾加上換行符號(\\),更多資訊請參考 [RUN 命令說明](https://docs.docker.com/engine/reference/builder/#run)。
* CMD:容器啟動後欲執行的命令,如果有多個 CMD,只會執行最後一個,更多資訊請參考 [CMD 命令說明](https://docs.docker.com/engine/reference/builder/#cmd)。
* USER:使用者權限,更多資訊請參考 [USER 命令說明](https://docs.docker.com/engine/reference/builder/#user)。
* WORKDIR:工作目錄,更多資訊請參考 [WORKDIR 命令說明](https://docs.docker.com/engine/reference/builder/#workdir)。
* ENV:系統環境變數,更多資訊請參考 [ENV 命令說明](https://docs.docker.com/engine/reference/builder/#env)。

- **建置規格**:選擇建置映像檔產生器的硬體環境規格,選擇 **標準** 系統將使為使用 CPU 規格的硬體環境,選擇 **進階** 則會啟動 GPU 編譯環境,以支援重新編譯原始碼的特殊製作需求。
#### 3. 檢閱+建立
* 檢查服務的建立資訊,確定後點擊「**建立**」。
## 映像檔產生器管理
* 映像檔產生器服務建立成功後會出現在列表的最上方,此時狀態會先顯示為 **`Queuing`**,點擊列表進入映像檔產生器詳細資料頁面。

* 進入映像檔產生器服務詳細資料頁面,可檢視映像檔產生器的詳細設定。透過上方的命令列圖示執行 **啟動**、**停止**、**編輯**、**複製**、**删除** 及 **重新整理** 等功能,說明如下:
* **啟動**:啟動映像檔產生器服務,若映像檔產生器服務狀態為 **```Queuing```** 或 **```Running```**,此按鈕會變成灰色。
* **停止**:若映像檔產生器服務執行的時間過久,可先停止以釋放系統資源,當需要使用時,再執行 **啟動**,但需注意啟動的時候可能會遇到資源不足的情形。
* **編輯**:修改映像檔產生器服務的設定資訊,操作步驟與建立映像檔產生器服務類似。編輯完成後服務會自動重啟,更多資訊請參見 [**編輯映像檔產生器**](#編輯映像檔產生器)。
* **複製**:複製此映像檔產生器服務設定再快速修改,後續的步驟與建立時相同。
* **刪除**:若服務已不使用,點選 **刪除** 可將映像檔產生器服務永久刪除,以節省資源。刪除完成後,映像檔產生器服務將從列表上消失。
* **重新整理**:即時更新畫面上顯示的最新狀態及資訊。
:::info
:bulb: **提示:** 請參考 [**服務狀態說明**](/s/service-state#映像檔產生器)。
:::

### 查看日誌
* 點擊「**查看日誌**」,可查看映像檔產生器的日誌資訊。
:::info
:bulb: **提示:** 建議點擊「**查看日誌**」,檢查日誌中的資訊是否有異常;若映像檔產生器建立不成功,可依日誌資訊判斷可能的問題。
:::

### 編輯映像檔產生器
* 映像檔產生後,依使用上的需求,可修改映像檔產生器的設定,再重新產生新的映像檔,例如增加其他的工具或套件,或者修改欲執行的程式版本。
* 進入映像檔產生器詳細資料頁面,點擊上方命令列的 **編輯** 圖示即可編輯映像檔產生器的建立設定,操作步驟與建立服務類似,編輯完成後,產生器會套用新的設定,請點擊上方命令列的 **啟動** 圖示執行新的設定。


## 使用容器映像檔
* 當映像檔產生器的狀態會變成 **```Completed```** 後,表示映像檔已建立完成,新產生的客製化映像檔會存放在容器映像檔服務中統一管理。

* 從 OneAI 服務列表選擇「**容器映像檔**」,進入容器映像檔管理頁面,再進入映像檔產生器所建立的映像檔標籤頁,確認此映像檔的狀態為 **```pushed```**,即可在其他容器相關服務使用此映像檔,請參閱 [**使用容器映像檔**](/s/container-image#使用容器映像檔)。

## 自容器映像檔服務建立映像檔產生器
* 除了從 **映像檔產生器** 服務建立映像檔產生器之外,亦可從**容器映像檔** 服務中的容器映像檔管理頁面或其標籤管理列表頁面建立。系統會將您所選擇的映像檔資訊帶入至映像檔產生器的建立設定中,後續的步驟與上述說明相同。

