10
3

More than 3 years have passed since last update.

[解決済み] php:*-alpine のdocker buildで、`make: /bin/sh: Operation not permitted` エラーが発生する

Last updated at Posted at 2021-07-05

はじめに(何が問題か)

以下のようなDockerfileをビルドすると、

FROM php:7.4-cli-alpine

RUN set -ex \
  && apk --no-cache add \
    autoconf gcc g++ make libzip-dev git

RUN docker-php-ext-install zip pdo pdo_mysql opcache

以下のようなエラーが発生して失敗するようになりました。

creating libtool
appending configuration tag "CXX" to libtool
configure: patching config.h.in
configure: creating ./config.status
config.status: creating config.h
/bin/sh /usr/src/php/ext/zip/libtool --mode=compile cc  -I. -I/usr/src/php/ext/zip -DPHP_ATOM_INC -I/usr/src/php/ext/zip/include -I/usr/src/php/ext/zip/main -I/usr/src/php/ext/zip -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   -c /usr/src/php/ext/zip/php_zip.c -o php_zip.lo 
make: /bin/sh: Operation not permitted
make: *** [Makefile:192: php_zip.lo] Error 127
The command '/bin/sh -c docker-php-ext-install zip pdo pdo_mysql opcache' returned a non-zero code: 2

原因

以下の記事にもありますが、alpine3.14で問題があったようです。

2021-06-30頃に下記のプルリクがマージされ、alpinelatest3.14となり、エラーが発生していた模様です。

回避策

前述のissueにも記載がありますが、下記のようにalpine3.13 を明示することでエラーを回避できます。

FROM php:7.4-cli-alpine3.13

おわりに

alpine以外の例えば、php:7.4-fpmとかではエラーが出ていなかったので、alpine固有の問題だと睨んでググりましたが、予想的中しました。  
同じ問題にハマっている方の手助けになれれば幸いです。  
ではでは。

10
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
3