安装 Docker CLI 核心步骤总结(Debian 12 环境)
1. 前置检查(确认容器无 CLI + 系统版本)
# 1. 进入 OpenClaw 容器(替换为你的容器名/ID)
docker exec -it openclaw-gateway /bin/bash
# 2. 切换到 root 用户(安装需要权限,Alpine 无密码,Debian 直接回车)
su root
# 3. 检查是否已有 CLI(无则提示 command not found)
docker --version
# 4. 确认系统版本(已验证是 Debian 12)
cat /etc/os-release
2. 安装 Docker CLI(Debian 12 专属命令)
# 1. 更新 apt 源
apt update
# 2. 安装依赖包
apt install -y curl gnupg2 apt-transport-https ca-certificates software-properties-common
# 3. 添加 Docker 官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 4. 添加 Docker 软件源(适配 Debian 12 bookworm)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bookworm stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
# 5. 安装仅 CLI 客户端(不装 dockerd 服务)
apt update && apt install -y docker-ce-cli
# 6. 验证安装成功(输出 Docker 版本号)
docker --version
3. 让 CLI 永久生效(容器重启不丢失)
# 1. 退出容器(执行 2 次 exit:先退出 root,再退出容器)
exit
exit
# 2. 提交修改后的容器为新镜像(保留 CLI)
docker commit openclaw-gateway openclaw-with-cli:latest
# 3. 修改 docker-compose.yml:将 gateway 镜像替换为新镜像
# image: 原 OpenClaw 镜像
# 替换为:
# image: openclaw-with-cli:latest
4. 验证 CLI 能访问 DinD(核心!)
# 1. 重启 Compose 服务
docker-compose down && docker-compose up -d
# 2. 进入 gateway 容器,验证 CLI 连接 DinD(TCP 方式)
docker exec -it openclaw-gateway su node -c "docker info"
# 预期结果:输出 DinD 容器内 Docker 引擎信息(而非宿主机),证明 CLI 可用
关键补充(避坑要点)
- 系统适配:如果是 Alpine 容器,替换安装命令为
apk update && apk add --no-cache docker-cli; - 权限说明:安装需 root 用户,但运行 CLI 用普通
node用户即可; - 核心逻辑:CLI 通过
DOCKER_HOST=tcp://sandbox:2375访问 DinD,无需挂载 sock 文件,避开目录报错; - 永久生效:仅
docker commit这一步就能保留 CLI,无需重新编译源码/构建镜像。
总结
- 核心命令:Debian 12 装 CLI 用
apt install docker-ce-cli,Alpine 用apk add docker-cli; - 永久生效:通过
docker commit提交新镜像,无需编译源码; - 验证关键:CLI 能输出 DinD 的
docker info,说明调用成功。
整个流程 5 分钟完成,全程围绕「免编译、保留 TCP、宿主机可控」的核心需求,无多余操作,适配你的 DinD 沙箱场景。