diff --git a/.github/workflows/build and depoly.yml b/.github/workflows/build and depoly.yml index 2d69cbd..8c2874d 100644 --- a/.github/workflows/build and depoly.yml +++ b/.github/workflows/build and depoly.yml @@ -32,12 +32,13 @@ jobs: run: | CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -tags sqlite_omit_load_extension -o main-amd64 . ldd main-amd64 || echo "ldd not available" - + - name: Build for arm64 run: | CGO_ENABLED=1 GOOS=linux GOARCH=arm64 CC=aarch64-linux-gnu-gcc go build -tags sqlite_omit_load_extension -o main-arm64 . aarch64-linux-gnu-readelf -d main-arm64 || echo "readelf not available" + - name: Set up QEMU uses: docker/setup-qemu-action@v3 diff --git a/Dockerfile.multi b/Dockerfile.multi index 55aae30..35d0af5 100644 --- a/Dockerfile.multi +++ b/Dockerfile.multi @@ -1,19 +1,12 @@ -# 使用轻量级的基础镜像 FROM alpine:latest -# 安装 ca-certificates,通常需要用于 HTTPS -RUN apk --no-cache add ca-certificates +# 安装必要的包 +RUN apk --no-cache add ca-certificates tzdata -# 设置时区 -ENV TZ=Asia/Singapore - -# 创建工作目录 WORKDIR /root/ -# 复制编译好的可执行文件 COPY main-amd64 main-arm64 ./ -# 使用 TARGETARCH 参数来选择正确的二进制文件 ARG TARGETARCH RUN if [ "$TARGETARCH" = "amd64" ]; then \ mv main-amd64 main && rm main-arm64; \ @@ -23,10 +16,9 @@ RUN if [ "$TARGETARCH" = "amd64" ]; then \ # 添加调试信息 RUN ls -l -RUN file main -RUN ldd main || echo "ldd not available" -# 设置执行权限 RUN chmod +x main -# 运行应用 +# 尝试运行程序并捕获可能的错误信息 +RUN ./main || (echo "Error running main: $?" && ldd main 2>&1 || echo "ldd not available") + CMD ["./main"]