~/blog/antigravity-docker-container-setup-guide-2026.md
AI 自動化與智慧應用 ·

Antigravity 裝進 Docker 怎麼跑?含容器內授權與設定保留做法

Eric,浪花科技創辦人 / AI 架構師
Eric
浪花科技創辦人 · AI 架構師
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 在本機會自動開瀏覽器完成授權,但容器裡沒有桌面環境。

官方對這種情況有設計:當它偵測到你在遠端或無瀏覽器環境時,會直接印出一段授權網址。你把網址複製到自己電腦的瀏覽器打開、登入之後會拿到一組英數代碼,再貼回容器的終端機就完成了。

所以流程是:

  1. 用互動模式進容器(docker run -it),不要用背景模式。
  2. 執行 agy,它會印出授權網址。
  3. 複製網址到你電腦的瀏覽器,登入,拿到代碼。
  4. 貼回終端機。

但這樣每次重建容器都要重登一次

對,這才是真正的痛點。憑證會存在系統的 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 自動化開發在幫客戶處理的事。跟我們聊聊你的情境

// 推薦服務
首月免費 · 月費 NT$249 起
想用 n8n、Dify、WordPress,卻不想自己養伺服器?

RoamerHost 幫你把開源 AI 與自動化工具一鍵代管:獨立 Docker、自動 SSL、24/7 監控,60 秒上線。省下租機器、裝環境、顧維運的力氣,訂閱就能開始用。

立即免費註冊
// FAQ

常見問題

為什麼要把 Antigravity 放進 Docker 跑?
四個理由:隔離(代理人只看得到你掛進去的目錄)、可拋棄(環境髒了直接刪掉重建)、一致(團隊每個人的環境完全一樣,不會有「在我電腦上可以」的爭議)、可上伺服器(同一套設定能搬到遠端跑排程)。但要注意容器不等於安全——如果你把整個家目錄掛進去或放進生產憑證,隔離等於沒做,容器隔離的是範圍,而範圍是你自己畫的。
容器裡沒有瀏覽器,要怎麼完成登入授權?
官方對這種情況有設計:CLI 偵測到無瀏覽器環境時會直接印出一段授權網址,你複製到自己電腦的瀏覽器打開、登入後拿到一組英數代碼,再貼回容器的終端機就完成。所以要用互動模式進容器(docker run -it),不要用背景模式,否則看不到那段網址。
每次重建容器都要重新登入,有辦法避免嗎?
有,把設定目錄掛成具名 volume 就行。CLI 的設定存在 ~/.gemini/antigravity-cli/settings.json,把整個 .gemini 目錄掛成 volume,重建容器時設定與登入狀態都會保留。但要注意這個 volume 裡放的是你的帳號憑證,不要 commit 進映像檔、不要推上任何 registry——只掛不烤。
在容器裡跑還需要開沙箱嗎?
通常不用。整個容器本身就是拋棄式環境,再套一層沙箱只會增加確認的摩擦。但如果這個容器掛了正式環境的憑證或資料,那還是要收緊。判斷準則跟平常一樣:這次做錯了你收得回來嗎?收得回來就放寬,收不回來就收緊。
容器裡要用 root 跑嗎?
不要。容器裡預設是 root,但代理人用 root 建出來的檔案掛回本機後,你自己的帳號可能改不動、網站伺服器可能讀不到而直接噴 500。做法是在映像檔裡建一個非 root 使用者,並讓它的 UID 對得上你本機帳號,啟動時用 --user 指定即可。
#Google Antigravity #Docker #AI Coding Agent #開發環境 #容器化
~/roamer-tech/newsletter // FREE
// newsletter

訂閱免費電子報

把 AI 自動化、企業系統設計與 WordPress / Laravel 開發的真實案例和可直接照做的技巧,整理成電子報寄給你。只寄精選內容、不灌垃圾信,一鍵就能退訂。

$
// final.exec()

準備好讓你的網站開始為你工作了嗎?