Docker Buildx 远程驱动器安装(Remote Driver)
本文提供一套 可直接 curl 执行 的通用脚本流程,完成:
- 生成 TLS 证书(官方 buildkit create-certs bake)
- 启动远端 buildkitd 容器
- 在本机创建 / 追加 buildx 远程节点
脚本将发布在
docs.kvanai.com,本文直接用curl | bash调用,无需下载。
前置条件
- 远端机器已安装 Docker(运行 buildkitd)
- 本机已安装 Docker & buildx(创建 builder)
- 远端 1234 端口可访问(或按需放行)
1. 远端生成 TLS 证书(在 buildkitd 机器执行)
SAN 请包含 远端 IP(例如 192.168.0.130)和可用的 DNS/主机名。
curl -fsSL https://docs.kvanai.com/scripts/gen-buildkit-certs.sh | \
SAN_LIST="192.168.0.130 buildkitd localhost 127.0.0.1" \
BASE_DIR=/root/.certs bash
生成后目录结构:
/root/.certs/
├── daemon/ # 服务器证书 (ca.pem/cert.pem/key.pem)
└── client/ # 客户端证书 (ca.pem/cert.pem/key.pem)
2. 远端启动 buildkitd(在 buildkitd 机器执行)
依赖
/root/.certs/daemon中的证书。
curl -fsSL https://docs.kvanai.com/scripts/install-buildkitd.sh | \
CERT_DIR=/root/.certs/daemon bash
默认监听 tcp://0.0.0.0:1234。
3. 拷贝 client 证书到本机
在本机执行(示例):
scp -r root@192.168.0.130:/root/.certs/client ./client
4. 本机创建 buildx 远程 builder
curl -fsSL https://docs.kvanai.com/scripts/builder-append-node.sh | \
CLIENT_CERT_DIR=./client SERVER_NAME=192.168.0.130 bash -s -- \
create multi-remote tcp://192.168.0.130:1234
若要追加节点(多机构建):
curl -fsSL https://docs.kvanai.com/scripts/builder-append-node.sh | \
CLIENT_CERT_DIR=./client SERVER_NAME=192.168.0.130 bash -s -- \
append multi-remote tcp://192.168.0.130:1234
常见问题
1) context deadline exceeded
通常是 TLS 校验失败(SAN 不包含远端 IP / servername 不匹配),或端口不可达。
检查要点:
SAN_LIST中必须包含远端 IPSERVER_NAME必须与证书 CN/SAN 匹配- 端口 1234 是否可达
2) buildkitd 容器未正常启动
查看日志:
docker logs buildkitd --tail 200
脚本列表(线上地址)
- 生成证书:
https://docs.kvanai.com/scripts/gen-buildkit-certs.sh - 启动 buildkitd:
https://docs.kvanai.com/scripts/install-buildkitd.sh - 创建 / 追加 builder:
https://docs.kvanai.com/scripts/builder-append-node.sh