Použijte alpský okraj:
FROM alpine:edge
RUN apk add php
RUN php -v
Toto je aktualizace odpovědi Adiii, která navrhuje smíchat dvě alpské verze (3.12
a edge
), je to hrozný výsledek a je těžké pochopit, co se pokazilo. Můžete skončit s chybami knihovny, protože to smíchalo jeden balíček z 3.12
a další balíček z 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
Můžete použít níže uvedený obrázek Docker.
FROM alpine:3.12
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community php
RUN php -v
výstup
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
Pokud chcete vidět plnohodnotný příklad, je vždy nejlepší prozkoumat Dockerfile
dodavatele .
Toto je z obrázku php:7.4-fpm-alpine3.12
:
https://github.com/docker-library/php/blob/86c8ec4d387132b65dbe6c5ab1747f858e03852e/7.4/alpine3.12/fpm/Dockerfile
Jak můžete vidět, přidávají spoustu věcí, aby zajistily hladký chod PHP a vyřešení problémů se spouštěním/kontextem.
Použití 1GB stránek snižuje výkon
VAROVÁNÍ:pip je nakonfigurován s umístěními, která vyžadují TLS/SSL, ale modul ssl v Pythonu není k dispozici