本脚本用于在海外 Linux 服务器上构建并推送 Cognio 的多架构 Docker 镜像,无国内加速优化。
| 文件 | 说明 |
|---|---|
buildDockerImage_apq2.bat |
Windows 批处理入口,构建 arm64 架构 |
buildDockerImage_apq2.ps1 |
apq2 主脚本,仅构建 arm64 |
buildDockerImage_apq3.bat |
Windows 批处理入口,构建 amd64 架构 |
buildDockerImage_apq3.ps1 |
apq3 主脚本,仅构建 amd64 |
buildDockerImage_latest.bat |
Windows 批处理入口,创建多架构 latest 标签(可在任意服务器执行) |
buildDockerImage_latest.ps1 |
latest 主脚本,合并 amd64 和 arm64 为 latest |
双击对应的 bat 文件或在命令行执行:
# 构建 arm64 架构
buildDockerImage_apq2.bat
# 构建 amd64 架构
buildDockerImage_apq3.bat
# 创建多架构 latest 标签(需先完成上述两个构建)
buildDockerImage_latest.bat
buildDockerImage_apq2.bat [用户名] [主机地址] [SSH端口]
运行后会提示输入镜像标签:
arm64 标签amd64 标签v1.0 beta,将同时推送架构标签和额外标签┌─────────────────────────────────────────────────────────────┐
│ 本地 Windows │
├─────────────────────────────────────────────────────────────┤
│ 1. 读取配置(远程服务器、Git仓库、Docker镜像名) │
│ 2. 提示用户输入镜像标签 │
│ 3. 生成远程执行的 Shell 脚本 │
│ 4. 将脚本转为 Base64 编码 │
│ 5. 通过 SSH 发送到远程服务器的 tmux 会话 │
└─────────────────────────────────────────────────────────────┘
│
▼ SSH
┌─────────────────────────────────────────────────────────────┐
│ 远程 Linux 服务器 │
├─────────────────────────────────────────────────────────────┤
│ 6. 在 tmux 会话中解码 Base64 并写入 /tmp/build_cognio.sh │
│ 7. 执行构建脚本: │
│ a. 克隆/更新 Git 仓库 │
│ b. 修改 Dockerfile(添加 PIP_ONLY_BINARY 环境变量) │
│ c. 使用 docker build 原生构建单架构镜像 │
│ d. 推送到 Docker Hub │
└─────────────────────────────────────────────────────────────┘
脚本顶部的配置区可修改:
# 远程服务器配置(apq2 示例)
$remoteUser = "root"
$remoteHost = "vps-apq2.zalhb.com"
$remotePort = "22"
# Git 仓库配置
$repoUrl = "https://github.com/0xReLogic/Cognio.git"
$repoDir = "Cognio"
# Docker 镜像配置
$imageName = "amwpfiqvy/cognio"
# tmux 会话名
$tmuxSession = "dbx"
各脚本默认服务器:
vps-apq2.zalhb.com(ARM64 原生服务器,构建 arm64)vps-apq3.zalhb.com(x86 原生服务器,构建 amd64)命令发送后,使用以下命令连接到远程 tmux 会话查看进度:
# apq2 服务器
ssh -t -p 22 [email protected] "tmux attach -t dbx"
# apq3 服务器
ssh -t -p 22 [email protected] "tmux attach -t dbx"
linux/arm64(纯单架构镜像)linux/amd64(纯单架构镜像)amwpfiqvy/cognio)脚本使用 docker build 在对应架构的服务器上原生构建:
优点:
docker manifest create 合并脚本会自动在 Dockerfile 中注入以下环境变量:
ENV PIP_ONLY_BINARY=:all:
作用:强制 pip 只使用预编译的 wheel 包,避免编译某些包(如 triton)时失败。
此版本适用于海外服务器,不包含以下国内加速优化:
如需在国内服务器构建,请使用 buildDockerImage_u24_docker.bat。