Closed3
docker-php-ext-install socketsがこけてた
renderでLaravelのアプリをデプロイしていたが、下記のDockerfileでdocker-php-ext-install sockets
の箇所でこけていた。
FROM composer AS composer
# copying the source directory and install the dependencies with composer
COPY ./ /app
COPY .env.example /app/.env
# linecorp/line-bot-sdk requires ext-sockets
RUN docker-php-ext-install sockets \
&& composer install --no-interaction --optimize-autoloader --no-dev
~~~~~
発生したのは2022/12/11 3:53以降
Dec 11 03:55:25 AM > [composer 4/4] RUN docker-php-ext-install sockets && composer install --no-interaction --optimize-autoloader --no-dev:
Dec 11 03:55:25 AM #13 13.42 configure: creating ./config.status
Dec 11 03:55:25 AM #13 13.50 config.status: creating config.h
Dec 11 03:55:25 AM #13 13.55 /bin/sh /usr/src/php/ext/sockets/libtool --mode=compile cc -I. -I/usr/src/php/ext/sockets -I/usr/src/php/ext/sockets/include -I/usr/src/php/ext/sockets/main -I/usr/src/php/ext/sockets -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -DZEND_COMPILE_DL_EXT=1 -c /usr/src/php/ext/sockets/sockets.c -o sockets.lo -MMD -MF sockets.dep -MT sockets.lo
Dec 11 03:55:25 AM #13 13.65 mkdir .libs
Dec 11 03:55:25 AM #13 13.67 cc -I. -I/usr/src/php/ext/sockets -I/usr/src/php/ext/sockets/include -I/usr/src/php/ext/sockets/main -I/usr/src/php/ext/sockets -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -DZEND_COMPILE_DL_EXT=1 -c /usr/src/php/ext/sockets/sockets.c -MMD -MF sockets.dep -MT sockets.lo -fPIC -DPIC -o .libs/sockets.o
Dec 11 03:55:25 AM #13 13.98 /usr/src/php/ext/sockets/sockets.c:59:12: fatal error: linux/sock_diag.h: No such file or directory
Dec 11 03:55:25 AM #13 13.98 59 | # include <linux/sock_diag.h>
Dec 11 03:55:25 AM #13 13.98 | ^~~~~~~~~~~~~~~~~~~
Dec 11 03:55:25 AM #13 13.98 compilation terminated.
Dec 11 03:55:25 AM #13 13.98 make: *** [Makefile:209: sockets.lo] Error 1
Dec 11 03:55:25 AM ------
Dec 11 03:55:25 AM Dockerfile:8
Dec 11 03:55:25 AM --------------------
Dec 11 03:55:25 AM 7 | # linecorp/line-bot-sdk requires ext-sockets
Dec 11 03:55:25 AM 8 | >>> RUN docker-php-ext-install sockets \
Dec 11 03:55:25 AM 9 | >>> && composer install --no-interaction --optimize-autoloader --no-dev
Dec 11 03:55:25 AM 10 |
Dec 11 03:55:25 AM --------------------
Dec 11 03:55:25 AM error: failed to solve: process "/bin/sh -c docker-php-ext-install sockets && composer install --no-interaction --optimize-autoloader --no-dev" did not complete successfully: exit code: 2
似たような現象
ベースイメージがAlpineだと起きる現象?で
composerのベースイメージがphp:8-alpineなので起きた現象みたい
上記を参考にdocker-php-extension-installerでsocket拡張機能をインストールするよう修正
FROM composer:latest AS composer
# copying the source directory and install the dependencies with composer
COPY ./ /app
COPY .env.example /app/.env
# linecorp/line-bot-sdk requires ext-sockets
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
RUN install-php-extensions sockets \
&& composer install --no-interaction --optimize-autoloader --no-dev
このスクラップは2022/12/14にクローズされました