Gunakan tepi alpine:
FROM alpine:edge
RUN apk add php
RUN php -v
Ini adalah pembaruan untuk jawaban Adiii yang menyarankan untuk menggabungkan dua versi alpine (3.12
dan edge
), ini adalah hasil yang buruk, dan sulit untuk memahami apa yang salah. Anda mungkin berakhir dengan kesalahan perpustakaan, karena menggabungkan satu paket dari 3.12
dan paket lain dari edge
:
/ # php -m
PHP Warning: PHP Startup: Unable to load dynamic library 'igbinary.so' (tried: /usr/lib/php7/modules/igbinary.so (Error relocating /usr/lib/php7/modules/igbinary.so: php_error_docref0: symbol not found), /usr/lib/php7/modules/igbinary.so.so (Error loading shared library /usr/lib/php7/modules/igbinary.so.so: No such file or directory)) in Unknown on line 0
Anda dapat menggunakan gambar Docker di bawah ini.
FROM alpine:3.12
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community php
RUN php -v
keluaran
Step 3/3 : RUN php -v
---> Running in 9900e66f4b71
PHP 7.4.7 (cli) (built: Jun 14 2020 23:46:20) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
Jika Anda ingin melihat contoh lengkap, sebaiknya selidiki Dockerfile
vendor .
Ini dari gambar php:7.4-fpm-alpine3.12
:
https://github.com/docker-library/php/blob/86c8ec4d387132b65dbe6c5ab1747f858e03852e/7.4/alpine3.12/fpm/Dockerfile
Seperti yang Anda lihat, mereka menambahkan banyak hal untuk memastikan PHP berjalan lancar dan masalah startup/konteks diselesaikan.