new update new dependecies

This commit is contained in:
2026-11-05 19:49:53 +05:00
parent 5e17f1dcc9
commit 39b322a2f0
5 changed files with 93 additions and 2 deletions
+13
View File
@@ -53,6 +53,19 @@ claude --resume # claude --resume
claude -p "hello" # claude -p "hello"
```
## Docker in Docker (optional)
To let Claude build and run containers, start ccc with `CCC_DIND=1` and `--privileged`. The entrypoint starts a separate Docker daemon *inside* the container, so Claude gets `docker`, `docker compose` and `docker buildx` without ever touching your host's daemon, containers or images. When it is running, an extra section is added to the system prompt telling Claude how that daemon differs from your host's.
```bash
alias claude-dind='docker run --rm -it --privileged -e CCC_DIND=1 -v /var/lib/docker -v ~/.claude:/root/.claude -v ~/.claude.json:/root/.claude.json -v $PWD:$PWD -w $PWD git.shihaam.dev/dockerfiles/ccc'
```
- `-v /var/lib/docker` gives the inner daemon an anonymous volume so it can use overlay2 instead of the slow vfs driver. `--rm` deletes it on exit, so images are gone after the session.
- Do **not** mount the host socket (`-v /var/run/docker.sock:...`) instead. That hands Claude root on your host and defeats the whole point of ccc.
- `--privileged` does weaken the kernel boundary compared to a normal container, so only turn this on when you need it. Without `CCC_DIND=1` nothing extra runs.
- If dockerd fails to start, ccc prints the last lines of `/var/log/dockerd.log` and carries on without docker.
For a shell in the container instead, override the entrypoint:
```bash