Antigravity 裝進 Docker 怎麼跑?含容器內授權與設定保留做法
☰ 目錄 table-of-contents.md
把 AI 代理人放進容器裡跑,理由通常只有一個:你不想讓它碰到你本機的東西。
它會執行指令、裝套件、改檔案。裝進容器,等於給它一個用完就丟的房間,搞砸了刪掉重建,三十秒的事。這篇講怎麼做,還有一個最多人卡住的地方:容器裡沒有瀏覽器,要怎麼登入。
(還沒裝過的話先看 Antigravity CLI 安裝與設定完整教學,以及 Antigravity 安裝與設定完整指南。)
‼️ 資料來源:下面的指令與參數取自 Google Antigravity 官方文件(查證於 2026 年 7 月)。這個產品更新很快,執行前請對照你手上版本的官方文件,以實際輸出為準。
為什麼要裝進容器?四個實際理由
- 隔離:代理人只看得到你掛進去的目錄,本機其他東西碰不到。
- 可拋棄:環境弄髒了直接刪掉重建,不用花時間清。
- 一致:團隊每個人跑的環境完全一樣,不會有「在我電腦上可以」的爭議。
- 可以放上伺服器:容器化之後,同一套設定能直接搬到遠端主機跑排程任務。
‼️ 但要先講清楚一件事:容器不等於安全。如果你把整個家目錄掛進去、或把生產環境的憑證放進容器,那隔離就等於沒做。容器隔離的是「範圍」,範圍是你自己畫的。
基本做法:在映像檔裡裝 agy
Antigravity CLI 的執行檔叫 agy,安裝就是一行腳本,所以放進 Dockerfile 很直接:
FROM ubuntu:24.04
RUN apt-get update && apt-get install -y curl ca-certificates git
# 建一個非 root 使用者(重要,下面會解釋)
RUN useradd -m dev
USER dev
WORKDIR /home/dev
RUN curl -fsSL https://antigravity.google/cli/install.sh | bash
ENV PATH="/home/dev/.local/bin:$PATH"
安裝腳本預設會裝到 ~/.local/bin/agy,所以 PATH 要指到那裡。如果你不想讓腳本動 shell 設定檔,可以加 --skip-path 與 --skip-aliases,然後自己在 ENV PATH 補上,在 Dockerfile 裡這樣做反而更乾淨,因為容器裡本來就沒有互動式 shell 設定。
‼️ 最大的坑:容器裡沒有瀏覽器,怎麼登入?
這是九成的人第一次卡住的地方。CLI 在本機會自動開瀏覽器完成授權,但容器裡沒有桌面環境。
官方對這種情況有設計:當它偵測到你在遠端或無瀏覽器環境時,會直接印出一段授權網址。你把網址複製到自己電腦的瀏覽器打開、登入之後會拿到一組英數代碼,再貼回容器的終端機就完成了。
所以流程是:
- 用互動模式進容器(
docker run -it),不要用背景模式。 - 執行
agy,它會印出授權網址。 - 複製網址到你電腦的瀏覽器,登入,拿到代碼。
- 貼回終端機。
但這樣每次重建容器都要重登一次
對,這才是真正的痛點。憑證會存在系統的 keyring 裡,容器一刪就沒了。
解法是把設定目錄掛成 volume,讓它活得比容器久:
docker run -it --rm \
-v $(pwd):/home/dev/work \
-v agy-config:/home/dev/.gemini \
-w /home/dev/work \
my-agy-image agy
CLI 的設定會存在 ~/.gemini/antigravity-cli/settings.json,把整個 .gemini 目錄掛成具名 volume,重建容器時設定與登入狀態就能保留。
‼️ 注意:這個 volume 裡放的是你的帳號憑證。不要把它 commit 進映像檔、不要推上任何 registry。只掛不烤。
三個容易忽略的細節
1. 不要用 root 跑
容器裡預設是 root。代理人用 root 建出來的檔案,掛回本機之後你自己的帳號可能改不動、網站伺服器可能讀不到(直接 500)。
做法是在映像檔裡建一個非 root 使用者,並且讓它的 UID 對得上你本機的帳號。Linux 上可以在啟動時用 --user 搭配自己的 UID 與 GID 來對齊。
2. 掛的目錄越小越好
只掛你要它處理的專案目錄,不要圖方便掛整個家目錄。掛什麼,它就看得到什麼。
3. git 要能用
容器裡記得裝 git。代理人會實際改檔案,而乾淨的版控狀態比任何隔離設定都有用,出事直接回滾,三十秒解決。
要不要再加沙箱?
如果你已經在容器裡跑,通常不用再開一層沙箱,整個容器本身就是拋棄式環境,再套一層只會增加確認的摩擦。
但如果這個容器掛了正式環境的憑證或資料,那就還是要收緊。判斷準則跟平常一樣:這次做錯了,你收得回來嗎?詳細取捨看 Antigravity Sandbox 模式該開不該開。
什麼情況不需要用容器?
老實說,如果你只是在自己的專案上做日常修改、而且版控是乾淨的,直接裝在本機更省事。容器的價值在「隔離」與「可複製」,你不需要這兩件事的時候,它只是額外的摩擦。
真正需要容器的是這幾種:跑別人給的程式碼、要在伺服器上排程、團隊要統一環境、或者你打算讓它無人看管地跑一段時間。
權限與安全的完整五道防線(最小權限、指令白名單、模擬執行、稽核日誌、一鍵還原),我們另外整理在 Antigravity 開發者生存指南:五道安全防線。
結論
把 agy 放進 Docker 不難,安裝是一行腳本,麻煩的只有兩件事:登入要用網址加代碼的流程,設定目錄要掛成 volume 才不會每次重登。這兩個處理掉,剩下就跟平常一樣。
我們自己也在做 AI 產品:Ocean Bot 業務助理、玄燈命理 DestineAI、PiMe AI 形象照,以及陪跑者 PACER 這個 AI 原生官網,都收在作品案例裡,可以看看落地之後實際長什麼樣。
如果你的團隊想把 AI 代理人變成可複製、可上伺服器的標準環境,這正是我們 AI 自動化開發在幫客戶處理的事。跟我們聊聊你的情境。
RoamerHost 幫你把開源 AI 與自動化工具一鍵代管:獨立 Docker、自動 SSL、24/7 監控,60 秒上線。省下租機器、裝環境、顧維運的力氣,訂閱就能開始用。
▶立即免費註冊常見問題
為什麼要把 Antigravity 放進 Docker 跑?
容器裡沒有瀏覽器,要怎麼完成登入授權?
每次重建容器都要重新登入,有辦法避免嗎?
在容器裡跑還需要開沙箱嗎?
容器裡要用 root 跑嗎?
這個主題的完整脈絡、選型比較與導入建議,都整理在指南裡。
訂閱免費電子報
把 AI 自動化、企業系統設計與 WordPress / Laravel 開發的真實案例和可直接照做的技巧,整理成電子報寄給你。只寄精選內容、不灌垃圾信,一鍵就能退訂。