62 lines
1.5 KiB
Docker
62 lines
1.5 KiB
Docker
FROM alpine:3.15
|
|
|
|
ADD https://php.hernandev.com/key/php-alpine.rsa.pub /etc/apk/keys/php-alpine.rsa.pub
|
|
|
|
RUN apk add ca-certificates \
|
|
&& echo -e '\
|
|
https://mirrors.ustc.edu.cn/alpine/latest-stable/main\n\
|
|
https://mirrors.ustc.edu.cn/alpine/latest-stable/community\n\
|
|
https://php.hernandev.com/v3.15/php-8.1\
|
|
' > /etc/apk/repositories \
|
|
&& apk update \
|
|
&& apk add \
|
|
tzdata \
|
|
php \
|
|
php-pgsql \
|
|
# event扩展运行时需要
|
|
php-sockets \
|
|
# 以下两件为workerman运行时需要
|
|
# https://github.com/walkor/workerman/issues/8
|
|
php-posix \
|
|
php-pcntl \
|
|
# 安装event扩展需要pecl
|
|
php-pear \
|
|
# 提供phpize
|
|
php-dev \
|
|
# 编译event扩展需要
|
|
autoconf \
|
|
# 以下两件足以在alpine里提供一般C编译环境
|
|
# g++则会提供gcc、musl-dev、libc-dev和g++,有点冗余
|
|
gcc \
|
|
musl-dev \
|
|
libevent-dev \
|
|
make \
|
|
composer \
|
|
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
|
|
&& echo "Asia/Shanghai" > /etc/timezone \
|
|
&& ln -s /usr/bin/php8 /usr/bin/php
|
|
|
|
RUN printf "\n\n\n\n\nno\nyes\n\n" | pecl install event \
|
|
&& echo "extension=event.so" > /etc/php8/conf.d/02_event.ini
|
|
|
|
COPY . /EdgeManager
|
|
|
|
WORKDIR /EdgeManager
|
|
|
|
RUN composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ \
|
|
&& composer u --no-cache
|
|
|
|
RUN apk del \
|
|
tzdata \
|
|
composer \
|
|
ca-certificates \
|
|
php-pear \
|
|
php-dev \
|
|
autoconf \
|
|
gcc \
|
|
musl-dev \
|
|
make \
|
|
&& rm -rf /var/cache/apk/* \
|
|
/etc/apk/keys/php-alpine.rsa.pub \
|
|
/tmp/*
|