# 命令列參考

本頁列出 `podrun` 的所有指令與旗標。

## 語法

```bash
podrun <command> [flags] [args...]
```

啟動時依序執行：依賴套件檢查與安裝、環境變數檢查、參數解析、SSH 連線測試，任一步失敗即中止。

## 指令

| 指令 | 說明 |
|---|---|
| `up` | 同步、改寫 compose、清掉舊容器後啟動，回報部署資訊 |
| `clear` | `down -v`、`down --rmi all`，再以 `podman run --privileged alpine` 刪除遠端專案目錄 |
| `down` | 轉送為遠端 `podman compose down`，並將部署標記為已移除 |
| `ps` | 轉送為 `podman compose ps` |
| `logs` | 轉送為 `podman compose logs`；`-f` 視為 follow |
| `restart` | 轉送為 `podman compose restart` |
| `exec` | 轉送為 `podman compose exec` |
| `build` | 轉送為 `podman compose build` |
| `domain`／`deploy`／`export`／`info`／`clone` | **[未完成]** 見 [實作狀態](/zh/roadmap) |

其餘指令回傳 `unsupported command`。

## 旗標

| 旗標 | 說明 |
|---|---|
| `-d`、`--detach` | 背景執行；同時轉送給 `podman compose` |
| `--folder=<path>`、`--folder <path>` | 本地專案目錄，預設為當前目錄 |
| `./<dir>`、`/<dir>` | 以位置參數指定本地專案目錄（須存在） |
| `-f <file>` | 指定 compose 檔，只轉送檔名；`logs` 下改為 follow；不支援多個 `-f` |
| `-u <uid>`、`-u=<uid>` | 覆寫部署 UID |
| `--type=<target>`、`--type <target>` | **[未完成]** Runtime 目標，預設 `podman`；`k3s` 目前只寫入紀錄的 `target` 欄位，實際仍以 Podman Compose 執行 |

未被辨識的參數一律加入轉送清單，原樣交給 `podman compose`。

## 範例

```bash
podrun up -d
podrun up -d --folder=/path/to/project
podrun up -d -f ./services/api/docker-compose.yml
podrun logs -f
podrun exec web sh
podrun clear
```
