chore: 更新版本号并优化Docker构建顺序

- 将版本号从2.10.3.2更新至2.10.3.3
- 调整Dockerfile中复制tls-sidecar二进制文件的位置,避免被本地文件覆盖
- 在tls-sidecar启动时增加Linux/macOS平台下的执行权限设置
- 增强二进制文件存在性检查,确保目标为常规文件
This commit is contained in:
hex2077 2026-03-03 00:35:15 +08:00
parent 65cdcaa3b5
commit 1798fc3df1
3 changed files with 17 additions and 7 deletions

View file

@ -22,10 +22,6 @@ LABEL description="Docker image for AIClient2API server"
# 安装必要的系统工具tar 用于更新功能git 用于版本检查)
RUN apk add --no-cache tar git
# 从 sidecar 构建阶段复制二进制
COPY --from=sidecar-builder /build/tls-sidecar /app/tls-sidecar/tls-sidecar
RUN chmod +x /app/tls-sidecar/tls-sidecar
# 设置工作目录
WORKDIR /app
@ -40,6 +36,11 @@ RUN npm install
# 复制源代码
COPY . .
# 从 sidecar 构建阶段复制二进制
# 放在 COPY . . 之后是为了确保不会被本地的空目录或旧二进制文件覆盖
COPY --from=sidecar-builder /build/tls-sidecar /app/tls-sidecar/tls-sidecar
RUN chmod +x /app/tls-sidecar/tls-sidecar
USER root
# 创建目录用于存储日志和系统提示文件
@ -55,4 +56,4 @@ HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
# 设置启动命令
# 使用默认配置启动服务器,支持通过环境变量配置
# 通过环境变量传递参数例如docker run -e ARGS="--api-key mykey --port 8080" ...
CMD ["sh", "-c", "node src/core/master.js $ARGS"]
CMD ["sh", "-c", "node src/core/master.js $ARGS"]

View file

@ -1 +1 @@
2.10.3.2
2.10.3.3

View file

@ -60,6 +60,15 @@ class TLSSidecar {
logger.info(`[TLS-Sidecar] Starting: ${binaryPath} on port ${this.port}`);
try {
// 确保 Linux/macOS 下有执行权限
if (process.platform !== 'win32') {
try {
fs.chmodSync(binaryPath, 0o755);
} catch (e) {
logger.warn(`[TLS-Sidecar] Failed to chmod binary: ${e.message}`);
}
}
this.process = spawn(binaryPath, [], {
env: {
...process.env,
@ -211,7 +220,7 @@ class TLSSidecar {
for (const p of candidates) {
try {
if (fs.existsSync(p)) {
if (fs.existsSync(p) && fs.statSync(p).isFile()) {
return p;
}
} catch { /* ignore */ }