【问题标题】:Alpine - Docker: returned a non-zero code: 139Alpine - Docker:返回非零代码:139
【发布时间】:2019-02-12 13:24:52
【问题描述】:

我在两台机器上运行相同的 Docker 构建:

  • Ubuntu 16.04
  • Debian 9.7

在 Ubuntu 中一切正常,但这是我在 Docker 构建期间在 Debian 中遇到的问题:

The command '/bin/sh -c php7 /installer.php --install-dir=/usr/bin --filename=composer' returned a non-zero code: 139

这是我的 Dockerfile:

FROM nginx:1.14-alpine
...
...
RUN curl https://getcomposer.org/installer -o /installer.php
RUN php7 /installer.php --install-dir=/usr/bin --filename=composer
...
...

在 Linux 中,错误代码 139 表示分段错误。 我在 Debian(Docker 版本 18.06.2-ce)上有 15437156 kB 的内存,在 Ubuntu(Docker 版本 18.05.0-ce)上有 16147116 kB。

注意:问题发生在构建过程中docker build ..

你知道如何在 Debian 上解决这个问题吗?

【问题讨论】:

  • 我怀疑它与阿尔卑斯山无关。你能用其他图像重现问题吗?

标签: docker debian alpine


【解决方案1】:

我遇到了问题

命令“/bin/sh -c rpm -ivh jdk-8u172-linux-x64.rpm”返回非零代码:139

然后我切换到使用旧版 hyper-V 而不是 docker 引擎提供的 WSL 2,然后一切正常

【讨论】:

  • 这绝对帮助了我在 Windows 10 bld 2004 作为 Docker 主机的情况。并行 CentOS6 和 CentOS 7 docker 镜像准备工作。在我尝试这个之前,CentOS7 就像一个魅力,但 CentOS6 没有。再次感谢。
【解决方案2】:

我正在升级一些版本并开始遇到与您类似的问题,谷歌搜索并在这里找到了您的帖子。我得到了:

RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && php composer-setup.php && php -r "unlink('composer-setup.php');" && mv composer.phar /usr/local/bin/composer
 ---> Running in e73735530b5d
All settings correct for using Composer
Segmentation fault

经过一些测试,我发现每次使用 FROM alpine:3.9 都会导致它出现 Seg 错误,但是将我的 Alpine 版本降级到 FROM alpine:3.8 会阻止它发生。

虽然不知道为什么,但看起来在最新版本的 Alpine 中出现了问题,因为我在 Debian、Debian Slim 或 Ubuntu 18:04 中也没有遇到这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-09
    • 2018-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    • 2020-05-24
    相关资源
    最近更新 更多