询问 Gordon

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

Ask Gordon 是嵌入在 Docker Desktop 和 Docker CLI 中的个人 AI 助手。它旨在简化你的工作流程,并帮助你充分利用 Docker 生态系统。

什么是 Ask Gordon?

Ask Gordon 在 Docker 工具中提供 AI 驱动的帮助。它为以下任务提供上下文帮助:

  • 改进 Dockerfile
  • 运行和故障排除容器
  • 与镜像和代码交互
  • 查找漏洞或配置问题

它理解你的本地环境,包括源代码、Dockerfile 和镜像,以提供个性化和可操作的指导。

这些功能默认未启用,并且尚未投入生产。你也可能遇到“Docker AI”一词,它是对这项技术的更广泛称呼。

注意

Ask Gordon 由大型语言模型 (LLM) 提供支持。与所有基于 LLM 的工具一样,其响应有时可能不准确。请务必验证提供的信息。

Gordon 访问哪些数据?

使用 Ask Gordon 时,它访问的数据取决于你的查询上下文:

  • 本地文件:如果你使用 docker ai 命令,Ask Gordon 可以访问执行命令时当前工作目录中的文件和目录。在 Docker Desktop 中,如果你在 Ask Gordon 视图中询问特定文件或目录,系统会提示你选择相关上下文。
  • 本地镜像:Gordon 集成到 Docker Desktop 中,可以查看本地镜像存储中的所有镜像。这包括你构建或从注册表拉取的镜像。

为了提供准确的响应,Ask Gordon 可能会将相关文件、目录或镜像元数据连同你的查询一起发送到 Gordon 后端。此数据传输通过网络进行,但不会永久存储或与第三方共享。它专门用于处理你的请求和生成响应。有关 Docker AI 隐私条款和条件的更多信息,请查阅 Gordon 的补充条款

所有传输的数据在传输过程中都会加密。

数据如何收集和使用

Docker 会收集你与 Ask Gordon 交互的匿名数据,以增强服务。这包括以下内容:

  • 你的查询:你向 Gordon 提出的问题。
  • 响应:Gordon 提供的答案。
  • 反馈:点赞和点踩评级。

为了确保隐私和安全:

  • 数据已匿名化,无法追溯到你或你的账户。
  • Docker 不会使用此数据训练 AI 模型或与第三方共享。

使用 Ask Gordon,你可以帮助提高 Docker AI 的可靠性和准确性,使其对所有用户更有效。

如果你对数据收集或使用有疑虑,可以随时禁用该功能。

启用 Ask Gordon

  1. 登录你的 Docker 账户。

  2. 导航到设置中的正在开发中的功能选项卡。

  3. 实验性功能选项卡下,选择访问实验性功能

  4. 选择应用并重启

  5. 退出并重新打开 Docker Desktop 以确保更改生效。

  6. 在 Docker Desktop 中打开设置视图。

  7. 导航到正在开发中的功能

  8. Beta选项卡中,勾选启用 Docker AI 复选框。

    将显示 Docker AI 服务条款协议。必须同意条款才能启用此功能。查看条款并选择接受并启用以继续。

  9. 选择应用并重启

使用 Ask Gordon

Docker AI 功能的主要接口是 Docker Desktop 中的 Ask Gordon 视图,或者如果你倾向于使用 CLI:docker ai CLI 命令。

启用 Docker AI 功能后,你还会在 Docker Desktop 用户界面的其他各种位置找到对 Ask Gordon 的引用。无论何时在用户界面中遇到带有星标 (✨) 图标的按钮,都可以使用该按钮从 Ask Gordon 获取上下文支持。

示例工作流

Ask Gordon 是一个通用 AI 助手,旨在帮助你完成所有与 Docker 相关的任务和工作流。如果你需要一些灵感,可以尝试以下几种方法:

如需更多示例,请尝试直接询问 Gordon。例如:

$ docker ai "What can you do?"

排除崩溃容器的故障

如果你尝试启动一个配置或命令无效的容器,可以使用 Ask 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://postgresql.ac.cn/docs/current/auth-trust.html

在 Docker Desktop 的容器视图中,选择容器名称旁边的 ✨ 图标,或检查容器并打开 Ask Gordon 选项卡。

获取运行容器的帮助

如果你想运行特定镜像但不确定如何操作,Gordon 可能会帮助你进行设置:

  1. 从 Docker Hub 拉取一个镜像(例如,postgres)。
  2. 在 Docker Desktop 中打开镜像视图并选择该镜像。
  3. 选择运行按钮。

运行新容器对话框中,你应该会看到一条关于 Ask Gordon 的消息。

Ask Gordon hint in Docker Desktop

提示中的链接文本是开始与 Ask Gordon 对话的建议提示。

改进 Dockerfile

Gordon 可以分析你的 Dockerfile 并提出改进建议。要使用 docker ai 命令让 Gordon 评估你的 Dockerfile:

  1. 导航到你的项目目录

    $ cd path/to/my/project
    
  2. 使用 docker ai 命令评估你的 Dockerfile

    $ docker ai rate my Dockerfile
    

Gordon 将分析你的 Dockerfile 并识别可以在以下几个方面改进的机会:

  • 构建缓存优化
  • 安全
  • 镜像大小效率
  • 最佳实践合规性
  • 可维护性
  • 可重现性
  • 可移植性
  • 资源效率

禁用 Ask Gordon

面向个人用户

如果你已启用 Ask Gordon 并想再次禁用它:

  1. 在 Docker Desktop 中打开设置视图。
  2. 导航到正在开发中的功能
  3. 取消勾选启用 Docker AI 复选框。
  4. 选择应用并重启

面向组织

如果你想通过设置管理为整个 Docker 组织禁用 Ask Gordon,请将以下属性添加到 admin-settings.json 文件中:

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

或者,通过将 allowBetaFeatures 设置为 false 来禁用所有 Beta 功能:

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

反馈

我们重视你对 Ask Gordon 的意见,并鼓励你分享使用体验。你的反馈有助于我们改进 Ask Gordon,使其对所有用户更友好。如果你遇到问题、有建议或只是想分享你的喜好,可以通过以下方式联系我们:

  • 点赞和点踩按钮

    使用回复中的点赞或点踩按钮评价 Ask Gordon 的回复。

  • 反馈调查

    你可以通过 Docker Desktop 的 Ask Gordon 视图中的提供反馈链接访问 Ask Gordon 调查,或者通过运行 docker ai feedback 命令从 CLI 访问。

页面选项