Ошибка перемещения - символ не найден - сборка docker-fpm-alpine image - PullRequest
0 голосов
/ 20 декабря 2018

Пытаясь создать изображение (из рабочего), я получил эту ошибку, гуглял решение, но не смог найти подходящее, я предполагаю, что с библиотеками что-то не так.Не до конца понимаю, что означает «Ошибка перемещения символа не найдена», предыдущие шаги были выполнены успешно, это вывод ошибки:

    Executing busybox-1.28.4-r1.trigger
Executing ca-certificates-20171114-r3.trigger
OK: 142 MiB in 67 packages
+ mkdir -p /usr/src/php/ext
+ wget https://pecl.php.net/get/memcached
Error relocating /lib/libssl.so.45: explicit_bzero: symbol not found
Error relocating /lib/libssl.so.45: getentropy: symbol not found
Error relocating /lib/libcrypto.so.43: explicit_bzero: symbol not found
Error relocating /lib/libcrypto.so.43: getentropy: symbol not found
Removing intermediate container e3b8422b922a
The command '/bin/sh -c set -xe && apk add --no-cache py-setuptools git wget bash py-setuptools zlib-dev libpng-dev freetype-dev libjpeg-turbo-dev libmcrypt-dev libmemcached-dev icu-dev libxml2-dev && apk add --no-cache libressl-dev cyrus-sasl-dev --repository http://dl-cdn.alpinelinux.org/alpine/edge/main/ rabbitmq-c-dev gnu-libiconv --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ --allow-untrusted && mkdir -p /usr/src/php/ext && wget https://pecl.php.net/get/memcached && tar -xf memcached && rm memcached && mv memcached-* /usr/src/php/ext/memcached && wget https://pecl.php.net/get/redis && tar -xf redis && rm redis && mv redis-* /usr/src/php/ext/redis && wget https://pecl.php.net/get/amqp && tar -xf amqp && rm amqp && mv amqp-* /usr/src/php/ext/amqp && wget https://pecl.php.net/get/igbinary && tar -xf igbinary && rm igbinary && mv igbinary-* /usr/src/php/ext/igbinary && wget https://pecl.php.net/get/apcu && tar -xf apcu && rm apcu && mv apcu-* /usr/src/php/ext/apcu && wget https://pecl.php.net/get/mcrypt && tar -xf mcrypt && rm mcrypt && mv mcrypt-* /usr/src/php/ext/mcrypt && git clone --recursive --depth=1 https://github.com/kjdev/php-ext-snappy.git && mv php-ext-snappy /usr/src/php/ext/snappy && docker-php-ext-install pdo_mysql opcache zip pcntl mcrypt iconv soap intl xml amqp igbinary redis snappy apcu && docker-php-ext-configure memcached --enable-memcached-igbinary --disable-memcached-sasl && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && docker-php-ext-install gd memcached && echo 'extension = "apcu.so"' > /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini && echo 'apc.shm_size = 256M' >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini' returned a non-zero code: 127

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018
0 голосов
/ 20 декабря 2018

Есть хорошо документированные несовместимости между минимальной (musl) библиотекой системы C (libc.so), которая поставляется с Alpine Linux, и большей (GNU) libc, которая поставляется с более типичными дистрибутивами Linux.Эти сообщения об ошибках намекают на то, что вы спотыкаетесь о чем-то подобном.

Если вы устанавливаете 142 МБ пакетов разработки, вы на самом деле не создаете «крошечный» образ Docker, и самое простое решение - это изменитьВаше изображение будет основано на ubuntu:18.04 вместо базы Alpine, которую он, вероятно, использует сейчас.Ваше окончательное изображение будет больше похоже на 400 МБ, чем на 200 МБ, но вряд ли вы заметите какие-либо практические различия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...