|
@@ -65,7 +65,7 @@ buildDockerImage_apq2.bat [用户名] [主机地址] [SSH端口]
|
|
|
│ 7. 执行构建脚本: │
|
|
│ 7. 执行构建脚本: │
|
|
|
│ a. 克隆/更新 Git 仓库 │
|
|
│ a. 克隆/更新 Git 仓库 │
|
|
|
│ b. 修改 Dockerfile(添加 PIP_ONLY_BINARY 环境变量) │
|
|
│ b. 修改 Dockerfile(添加 PIP_ONLY_BINARY 环境变量) │
|
|
|
-│ c. 使用 docker buildx 构建单架构镜像 │
|
|
|
|
|
|
|
+│ c. 使用 docker build 原生构建单架构镜像 │
|
|
|
│ d. 推送到 Docker Hub │
|
|
│ d. 推送到 Docker Hub │
|
|
|
└─────────────────────────────────────────────────────────────┘
|
|
└─────────────────────────────────────────────────────────────┘
|
|
|
```
|
|
```
|
|
@@ -92,9 +92,9 @@ $tmuxSession = "dbx"
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
**各脚本默认服务器:**
|
|
**各脚本默认服务器:**
|
|
|
-- apq2: `vps-apq2.zalhb.com`(构建 arm64)
|
|
|
|
|
-- apq3: `vps-apq3.zalhb.com`(构建 amd64)
|
|
|
|
|
-- latest: `192.168.1.99`(可在任意服务器执行)
|
|
|
|
|
|
|
+- apq2: `vps-apq2.zalhb.com`(ARM64 原生服务器,构建 arm64)
|
|
|
|
|
+- apq3: `vps-apq3.zalhb.com`(x86 原生服务器,构建 amd64)
|
|
|
|
|
+- latest: 可在任意能访问 Docker Hub 的服务器执行
|
|
|
|
|
|
|
|
## 查看构建进度
|
|
## 查看构建进度
|
|
|
|
|
|
|
@@ -110,14 +110,24 @@ ssh -t -p 22 [email protected] "tmux attach -t dbx"
|
|
|
|
|
|
|
|
## 构建产物
|
|
## 构建产物
|
|
|
|
|
|
|
|
-- **apq2 目标架构**: `linux/arm64`
|
|
|
|
|
-- **apq3 目标架构**: `linux/amd64`
|
|
|
|
|
|
|
+- **apq2 目标架构**: `linux/arm64`(纯单架构镜像)
|
|
|
|
|
+- **apq3 目标架构**: `linux/amd64`(纯单架构镜像)
|
|
|
- **latest**: 多架构 manifest(包含 amd64 + arm64)
|
|
- **latest**: 多架构 manifest(包含 amd64 + arm64)
|
|
|
- **推送目标**: Docker Hub (`amwpfiqvy/cognio`)
|
|
- **推送目标**: Docker Hub (`amwpfiqvy/cognio`)
|
|
|
-- **缓存位置**: 远程服务器 `$HOME/.buildx-cache`
|
|
|
|
|
|
|
|
|
|
## 构建优化
|
|
## 构建优化
|
|
|
|
|
|
|
|
|
|
+### 原生架构构建
|
|
|
|
|
+
|
|
|
|
|
+脚本使用 `docker build` 在对应架构的服务器上原生构建:
|
|
|
|
|
+
|
|
|
|
|
+- **apq2 (ARM64 服务器)**: 原生构建 arm64 镜像,速度快
|
|
|
|
|
+- **apq3 (x86 服务器)**: 原生构建 amd64 镜像,速度快
|
|
|
|
|
+
|
|
|
|
|
+**优点**:
|
|
|
|
|
+- 不需要 QEMU 模拟,构建速度快
|
|
|
|
|
+- 推送的是纯单架构镜像,可以被 `docker manifest create` 合并
|
|
|
|
|
+
|
|
|
### 强制使用预编译包
|
|
### 强制使用预编译包
|
|
|
|
|
|
|
|
脚本会自动在 Dockerfile 中注入以下环境变量:
|
|
脚本会自动在 Dockerfile 中注入以下环境变量:
|
|
@@ -126,9 +136,7 @@ ssh -t -p 22 [email protected] "tmux attach -t dbx"
|
|
|
ENV PIP_ONLY_BINARY=:all:
|
|
ENV PIP_ONLY_BINARY=:all:
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-**作用**:强制 pip 只使用预编译的 wheel 包,避免在 QEMU 模拟环境下编译 triton 等包时失败。
|
|
|
|
|
-
|
|
|
|
|
-**原因**:docker buildx 构建 arm64 镜像时使用 QEMU 模拟,某些包(如 triton)在模拟环境下编译会失败或耗时极长。
|
|
|
|
|
|
|
+**作用**:强制 pip 只使用预编译的 wheel 包,避免编译某些包(如 triton)时失败。
|
|
|
|
|
|
|
|
## 与国内版本的区别
|
|
## 与国内版本的区别
|
|
|
|
|
|