Alpine - Docker:返回非零代码:139

问题描述 投票:1回答:1

我在两台机器上运行相同的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表示分段错误。我在Ubuntu(Docker版本18.05.0-ce)上的Debian(Docker版本18.06.2-ce)和16147116 kB上有15437156 kB的内存。

注意:问题发生在构建docker build ..期间。

你知道怎么在Debian上解决这个问题吗?

docker debian alpine
1个回答
0
投票

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

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中得到这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.