使用 Docker 运行 Aider

Aider 提供两种 Docker 镜像:

  • paulgauthier/aider 安装 aider 核心组件,这是一个较小的镜像,适合快速入门。
  • paulgauthier/aider-full 安装包含所有可选组件的完整版 aider。

完整版镜像支持交互式帮助、浏览器 GUI 和使用 Playwright 抓取网页等功能。核心镜像仍然可以使用这些功能,但首次访问时需要安装。由于容器是临时的,下次启动 aider 核心容器时需要重新安装这些额外组件。

Aider 核心版

docker pull paulgauthier/aider
docker run -it --user $(id -u):$(id -g) --volume $(pwd):/app paulgauthier/aider --openai-api-key $OPENAI_API_KEY [...其他 aider 参数...]

完整版

docker pull paulgauthier/aider-full
docker run -it --user $(id -u):$(id -g) --volume $(pwd):/app paulgauthier/aider-full --openai-api-key $OPENAI_API_KEY [...其他 aider 参数...]

使用方法

你应该在 git 仓库的根目录下运行上述命令,因为 --volume 参数会将当前目录映射到 docker 容器中。因此,你需要位于 git 仓库的根目录下,aider 才能看到仓库及其所有文件。

请确保你的 git 仓库配置中包含用户名和邮箱,因为 docker 容器不会继承你的全局 git 配置。在执行 docker run 命令前,在你的 git 仓库中运行以下命令:

git config user.email "you@example.com"
git config user.name "Your Name"

局限性

  • 当你在聊天中使用 /run 命令时,这些命令会在 docker 容器内部 执行。因此这些命令不会在你的本地环境中运行,这可能导致难以通过 /run 来运行项目测试等操作。
  • /voice 语音命令将无法正常工作,除非你能解决如何让 docker 容器访问主机音频设备的问题。容器中已安装 libportaudio2 库,如果能解决设备访问问题,该功能应该可以正常工作。

目录