Utiliser le bord alpin :
FROM alpine:edge
RUN apk add php
RUN php -v
Ceci est une mise à jour de la réponse Adiii suggérant de mélanger deux versions alpines (3.12
et edge
), c'est un résultat terrible et difficile de comprendre ce qui n'a pas fonctionné. Vous pouvez vous retrouver avec des erreurs de bibliothèque, car il a mélangé un paquet de 3.12
et autre forfait de 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
Vous pouvez utiliser l'image Docker ci-dessous.
FROM alpine:3.12
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community php
RUN php -v
sortie
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
Si vous voulez voir un exemple complet, il est toujours préférable d'enquêter sur le Dockerfile
du fournisseur .
Ceci provient de l'image php:7.4-fpm-alpine3.12
:
https://github.com/docker-library/php/blob/86c8ec4d387132b65dbe6c5ab1747f858e03852e/7.4/alpine3.12/fpm/Dockerfile
Comme vous pouvez le voir, ils ajoutent beaucoup de choses pour s'assurer que PHP fonctionne correctement et que les problèmes de démarrage/contexte sont résolus.