debian更新12之后, 云效许多相关镜像构建都出现了问题,这是为什么?FROM golang:1.20 AS build RUN go env -w GOPROXY=https://goproxy.cn,direct
[14:09:48] #11 [build 1/5] FROM docker.io/library/golang:1.20@sha256:519184356f970849c5f58764014c13ce20c3a3cadc13be7b8d87269bc5554ccd [14:09:48] #11 sha256:52c01f7152d54075af4e63d1ff1c3f57770335f3865ce96c7aae63e2d49e540c [14:09:48] #11 extracting sha256:c1c5b70020e43c956ded66d55bf09315909aaaa36b9e6aaac1cc87ebb51b3b4c done [14:09:48] #11 DONE 11.9s [14:09:48] [14:09:48] #12 [build 2/5] RUN go env -w GOPROXY=https://goproxy.cn,direct [14:09:48] #12 sha256:59ca7a14cc813729eda6f72f7a09faacaf90424dd15d991844cbd315ccea0d73 [14:09:48] #12 0.133 runtime/cgo: pthread_create failed: Operation not permitted [14:09:49] #12 0.135 SIGABRT: abort
这个问题可能是由于 Debian 更新后默认启用了 seccomp 导致的。seccomp 是 Linux 内核的一个安全模块,用于限制进程可以执行的系统调用。在某些情况下,seccomp 可能会阻止某些需要使用的系统调用。在这种情况下,可以尝试禁用 seccomp。可以通过在 Dockerfile 中添加以下内容来禁用 seccomp:
RUN echo 'APT::Get::AllowUnauthenticated "true";' > /etc/apt/apt.conf.d/99allow-insecure
RUN apt-get update && apt-get install -y --no-install-recommends debian-keyring && apt-key update && apt-get clean
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list && \
sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list && \
apt-get update && \
apt-get install -y --no-install-recommends libseccomp-dev && \
rm -rf /var/lib/apt/lists/*
ENV CGO_ENABLED=1
这里添加了安装 libseccomp-dev 和禁用 seccomp 的相关操作。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。