Alpine - Docker: вернул ненулевой код: 139
Я запускаю одну и ту же сборку Docker на двух машинах:
- Ubuntu 16.04
- Debian 9.7
В Ubuntu все работает нормально, но это проблема, с которой я столкнулся в Debian во время сборки Docker:
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 указывает на ошибку сегментации. У меня есть память 15437156 кБ на Debian (Docker версия 18.06.2-ce) и 16147116 кБ на Ubuntu (Docker версия 18.05.0-ce).
Примечание: проблема возникает во время сборки docker build ..
,
Вы знаете, как это исправить в Debian?
1 ответ
Я столкнулся с проблемой
Команда '/bin/sh -c rpm -ivh jdk-8u172-linux-x64.rpm' вернула ненулевой код: 139
затем я переключился на использование устаревшего Hyper-V вместо WSL 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
каждый раз вызывал ошибку Сега, но понизил мою версию Alpine до FROM alpine:3.8
остановил это происходящее.
Хотя не уверен, почему, но похоже, что в последней версии Alpine что-то сломалось, так как я не получил эту проблему в Debian, Debian Slim или Ubuntu 18:04.