Возможна ли установка PHP7 .4 на стоковый образ Alpine 3.12 Docker? - PullRequest
3 голосов
/ 10 июля 2020

Можно ли установить PHP7 .4 на стандартный образ Alpine 3.12 Docker?

Я видел это репо и его файл докеров, который используя сертификат bintray и путь к репозиторию, но мне было интересно, есть ли более "стандартный / альпийский" способ сделать это изначально?

Ответы [ 3 ]

5 голосов
/ 10 июля 2020

Вы можете использовать ниже Docker изображение.

FROM alpine:3.12
RUN apk add --no-cache  --repository http://dl-cdn.alpinelinux.org/alpine/edge/community php
RUN php -v

вывод

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

1 голос
/ 13 июля 2020

Если вы хотите увидеть полноценный пример, всегда лучше исследовать Dockerfile поставщика

Это из изображения php:7.4-fpm-alpine3.12:

https://github.com/docker-library/php/blob/86c8ec4d387132b65dbe6c5ab1747f858e03852e/7.4/alpine3.12/fpm/Dockerfile

Как видите, они добавляют много вещей, чтобы обеспечить бесперебойную работу PHP и решить проблемы запуска / контекста.

0 голосов
/ 20 августа 2020

Используйте альпийский край:

FROM alpine:edge
RUN apk add php
RUN php -v

Это обновление до Adiii ответа, предлагающего смешать две альпийские версии (3.12 и edge), это ужасный результат, и сложно понять, что пошло не так. Вы можете получить ошибки библиотеки, потому что он смешал один пакет из 3.12 и другой пакет из 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 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...