詢問 Gordon

可用性: 測試版
要求: Docker Desktop 4.38.0 或更高版本

詢問 Gordon 是您的個人 AI 助手,嵌入在 Docker Desktop 和 Docker CLI 中。它旨在簡化您的工作流程,幫助您充分利用 Docker 生態系統。

關鍵特性

詢問 Gordon 在 Docker 工具中提供 AI 驅動的幫助。它可以

  • 改進 Dockerfile
  • 執行和排查容器
  • 與您的映象和程式碼互動
  • 查詢漏洞或配置問題
  • 將 Dockerfile 遷移以使用 Docker 強化映象

它瞭解您的本地環境,包括原始碼、Dockerfile 和映象,以提供個性化且可操作的指導。

詢問 Gordon 記住對話,讓您更容易切換話題。

詢問 Gordon 預設不啟用,並且未達到生產就緒狀態。您也可能會遇到“Docker AI”這個術語,它是對這項技術的更廣泛的引用。

注意

詢問 Gordon 由大型語言模型 (LLM) 提供支援。與所有基於 LLM 的工具一樣,其響應有時可能不準確。請務必驗證所提供的資訊。

Gordon 訪問哪些資料?

當您使用詢問 Gordon 時,它訪問的資料取決於您的查詢

  • 本地檔案:如果您使用 docker ai 命令,詢問 Gordon 可以訪問當前工作目錄中執行該命令的檔案和目錄。在 Docker Desktop 中,如果您在**詢問 Gordon** 檢視中詢問特定檔案或目錄,系統會提示您選擇相關上下文。
  • 本地映象:Gordon 與 Docker Desktop 整合,可以檢視本地映象儲存中的所有映象。這包括您構建或從登錄檔拉取的映象。

為了提供準確的響應,詢問 Gordon 可能會將相關檔案、目錄或映象元資料與您的查詢一起傳送到 Gordon 後端。此資料傳輸透過網路進行,但絕不會永久儲存或與第三方共享。它僅用於處理您的請求並形成響應。有關 Docker AI 隱私條款和條件的詳細資訊,請檢視 Gordon 補充條款

所有傳輸的資料均經過傳輸加密。

您的資料如何被收集和使用

Docker 會從您與詢問 Gordon 的互動中收集匿名資料,以改進服務。這包括

  • 您的查詢:您向 Gordon 提出的問題。
  • 響應:Gordon 提供的答案。
  • 反饋:點贊和點踩評分。

為確保隱私和安全

  • 資料已匿名化,無法追溯到您或您的帳戶。
  • Docker 不會使用此資料來訓練 AI 模型或與第三方共享。

透過使用詢問 Gordon,您可以幫助提高 Docker AI 對所有人的可靠性和準確性。

如果您對資料收集或使用有疑問,可以隨時停用該功能。

啟用詢問 Gordon

  1. 登入您的 Docker 帳戶。

  2. 轉到設定中的**Beta 功能**選項卡。

  3. 勾選**啟用 Docker AI** 複選框。

    出現 Docker AI 服務條款協議。您必須同意條款才能啟用該功能。檢視條款並選擇**接受並啟用**以繼續。

  4. 選擇**應用**。

重要提示

對於 Docker Desktop 4.41 及更早版本,此設定位於**開發中的功能**頁面的**實驗性功能**選項卡下。

使用詢問 Gordon

您可以訪問 Gordon

  • 在 Docker Desktop 中,位於**詢問 Gordon** 檢視中。
  • 在 Docker CLI 中,使用 docker ai 命令。

啟用 Docker AI 功能後,您還會在 Docker Desktop 的其他地方看到**詢問 Gordon**。每當您看到帶有**閃光** (✨) 圖示的按鈕時,您都可以使用它從詢問 Gordon 獲取上下文支援。

示例工作流程

詢問 Gordon 是一個通用的 AI 助手,用於 Docker 任務和工作流程。以下是一些您可以嘗試的事項

有關更多示例,請嘗試直接詢問 Gordon。例如

$ docker ai "What can you do?"

排查崩潰的容器

如果啟動容器時配置或命令無效,請使用詢問 Gordon 解決錯誤。例如,嘗試在沒有資料庫密碼的情況下啟動 Postgres 容器

$ docker run postgres
Error: Database is uninitialized and superuser password is not specified.
       You must specify POSTGRES_PASSWORD to a non-empty value for the
       superuser. For example, "-e POSTGRES_PASSWORD=password" on "docker run".

       You may also use "POSTGRES_HOST_AUTH_METHOD=trust" to allow all
       connections without a password. This is *not* recommended.

       See PostgreSQL documentation about "trust":
       https://postgres.tw/docs/current/auth-trust.html

在 Docker Desktop 的**容器**檢視中,選擇容器名稱旁邊的 ✨ 圖示,或檢查容器並開啟**詢問 Gordon** 選項卡。

獲取執行容器的幫助

如果您想執行特定映象但不確定如何操作,Gordon 可以幫助您進行設定

  1. 從 Docker Hub 拉取映象(例如 postgres)。
  2. 開啟 Docker Desktop 中的**映象**檢視並選擇映象。
  3. 選擇**執行**按鈕。

在**執行新容器**對話方塊中,您會看到一條關於**詢問 Gordon** 的訊息。

Screenshot showing Ask Gordon hint in Docker Desktop.

提示中的連結文字是開始與詢問 Gordon 對話的建議提示。

改進 Dockerfile

Gordon 可以分析您的 Dockerfile 並提出改進建議。要讓 Gordon 使用 docker ai 命令評估您的 Dockerfile

  1. 轉到您的專案目錄

    $ cd <path-to-your-project>
    
  2. 使用 docker ai 命令對您的 Dockerfile 進行評級

    $ docker ai rate my Dockerfile
    

Gordon 將分析您的 Dockerfile 並識別多個方面的改進機會

  • 構建快取最佳化
  • 安全性
  • 映象大小效率
  • 最佳實踐合規性
  • 可維護性
  • 可重現性
  • 可移植性
  • 資源效率

將 Dockerfile 遷移到 DHI

將您的 Dockerfile 遷移以使用 Docker 強化映象 有助於您構建更安全、更精簡、更適合生產的容器。DHI 可減少漏洞,強制執行最佳實踐並簡化合規性,使其成為安全軟體供應鏈的堅實基礎。

要請求 Gordon 幫助進行遷移

  1. 確保 Gordon 已啟用

  2. 在 Gordon 的工具箱中,確保 Gordon 的 開發人員 MCP 工具包已啟用

  3. 在終端中,導航到包含您的 Dockerfile 的目錄。

  4. 開始與 Gordon 對話

    docker ai
  5. 型別

    "Migrate my dockerfile to DHI"
    
  6. 跟隨 Gordon 的對話。Gordon 將編輯您的 Dockerfile,因此當它請求訪問檔案系統等時,鍵入 yes 以允許 Gordon 繼續。

    注意

    要了解有關 Gordon 資料保留和它可以訪問的資料的更多資訊,請參閱 Gordon

遷移完成後,您會看到一條成功訊息

The migration to Docker Hardened Images (DHI) is complete. The updated Dockerfile
successfully builds the image, and no vulnerabilities were detected in the final image.
The functionality and optimizations of the original Dockerfile have been preserved.
重要提示

與任何 AI 工具一樣,您必須驗證 Gordon 的編輯並測試您的映象。

停用詢問 Gordon

針對個人使用者

如果您已啟用詢問 Gordon 並希望再次停用它

  1. 開啟 Docker Desktop 中的**設定**檢視。
  2. 轉到**Beta 功能**。
  3. 清除**啟用 Docker AI** 複選框。
  4. 選擇**應用**。

針對組織

要為整個 Docker 組織停用詢問 Gordon,請使用 設定管理 並將此屬性新增到您的 admin-settings.json 檔案中

{
  "enableDockerAI": {
    "value": false,
    "locked": true
  }
}

或者透過將 allowBetaFeatures 設定為 false 來停用所有 Beta 功能

{
  "allowBetaFeatures": {
    "value": false,
    "locked": true
  }
}

反饋

我們重視您對詢問 Gordon 的意見,並鼓勵您分享您的經驗。您的反饋有助於我們改進和完善詢問 Gordon,造福所有使用者。如果您遇到問題、有建議或只是想分享您喜歡的內容,請透過以下方式聯絡我們

  • 點贊和點踩按鈕

    使用響應中的點贊或點踩按鈕對詢問 Gordon 的響應進行評分。

  • 反饋調查

    您可以透過 Docker Desktop 中**詢問 Gordon** 檢視中的*提供反饋*連結,或透過執行 docker ai feedback 命令從 CLI 訪問詢問 Gordon 調查。