You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker构建失败:无法安装libc-bin,Rails部署受阻

Docker构建libc-bin qemu段错误修复方案

针对你用Kamal部署Rails应用从Bun回退Node环境时,Docker构建出现libc-bin qemu段错误导致dpkg配置失败的问题,以下是可行的解决方法:

1. 修正apt下载模式并清理缓存

qemu模拟环境下,apt并行下载容易触发资源竞争导致崩溃,强制单线程并清理旧缓存:

# 添加到apt-get update前
RUN echo "Acquire::Queue-mode \"access\";" > /etc/apt/apt.conf.d/99queue-mode \
    && apt-get clean && rm -rf /var/lib/apt/lists/*

# 然后执行依赖安装
RUN apt-get update && apt-get install -y --no-install-recommends \
    nodejs \
    yarn \
    libc-bin \
    # 你的其他依赖

2. 强制匹配主机架构构建

跨架构构建(比如x86主机构建arm镜像)是qemu段错误的常见诱因,指定与AWS t2.micro一致的架构(t2.micro为x86_64):
在Kamal的config/deploy.yml里配置:

service:
  build:
    platform: linux/amd64

3. 手动安装libc-bin跳过自动配置

绕过apt的自动配置流程,直接下载deb包手动安装:

RUN apt-get update && apt-get install -y wget \
    # 替换为对应Ubuntu版本的libc-bin包链接
    && wget http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/libc-bin_2.35-0ubuntu3.4_amd64.deb \
    && dpkg -i --force-confnew libc-bin_2.35-0ubuntu3.4_amd64.deb \
    && rm libc-bin_2.35-0ubuntu3.4_amd64.deb

4. 提升Docker构建的资源配额

即使主机有4G内存,Docker默认的构建资源限制可能不足,强制分配更多资源:
在Kamal配置里添加:

service:
  build:
    options:
      memory: 3g
      cpus: 2

验证方法:构建完成后进入容器执行dpkg --configure -a,确认无报错。

内容的提问来源于stack exchange,提问作者croceldon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 17:03:22