数据与持久化
哪些会保留,哪些不会
快速开始里的命令带了 --rm,容器停止时会被删除。
| 数据 | 在哪里 | 容器停止后 |
|---|---|---|
| 你的项目 | /workspace,从你的电脑挂载进来 | ✅ 保留:它就在你的电脑上 |
| AI 助手的登录状态和设置 | 容器里的 ~/.claude、~/.codex 等 | ❌ 丢失,除非放进卷(见下文) |
| Git 凭据 | 容器里的 ~/.git-credentials | ❌ 丢失 |
用 pip、npm -g、apt 装的包 | 容器里 | ❌ 丢失 |
| shell 历史记录 | 容器里 | ❌ 丢失 |
这是有意为之:每个新容器都从同一个干净的镜像开始。
保留 AI 助手的登录
在 docker run 命令里,为各个助手的目录加上 Docker 卷:
bash
docker run -d \
--rm \
--name "yeci-$PROJECT_NAME" \
--network host \
-v "$PWD":/workspace \
-v yeci-claude:/root/.claude \
-v yeci-codex:/root/.codex \
-v yeci-gemini:/root/.gemini \
-v yeci-grok:/root/.grok \
docker.io/yeciorg/yeci > /dev/nullDocker 会在第一次使用时创建这些命名卷(yeci-claude 等),删除容器后卷仍然保留。所有 YECI 容器共用这些卷,所以登录一次,所有项目都能用。
对 Claude Code 来说,登录信息本身保存在 ~/.claude/ 里,用这种方式可以保留。Claude Code 还会把一部分应用状态(比如首次运行的设置、已信任的文件夹)保存在单独的文件 ~/.claude.json 里,这种方式保留不了它,所以在新容器里,Claude Code 可能会再走一遍部分首次运行的设置。
删除保存的登录:
bash
docker volume rm yeci-claude yeci-codex yeci-gemini yeci-grokGit 凭据
git 配置了 credential.helper store:第一次 git push / git pull 输入用户名和密码(或 token)后,git 会把它以明文保存在 ~/.git-credentials,之后不再询问。和 /workspace 以外的所有内容一样,删除容器后它也会丢失。