static-php-cli/docker/Dockerfile

74 lines
2.1 KiB
Docker
Raw Normal View History

2021-06-06 01:01:58 +08:00
FROM alpine:latest
2021-06-02 00:33:47 +08:00
2021-06-02 19:57:55 +08:00
# define script basic information
# Version of this Dockerfile
ENV SCRIPT_VERSION=1.3.3
2021-06-02 19:57:55 +08:00
# Download address uses backup address
# (if downloading slowly, consider set it to yes)
2021-06-02 00:33:47 +08:00
ENV USE_BACKUP=no
2021-06-02 19:57:55 +08:00
# Version of some manually-installed package
2021-07-15 22:00:29 +08:00
ENV VER_PHP=7.4.21
2021-06-06 01:01:58 +08:00
# APK repositories mirror address, if u r not in China, consider set USE_BACKUP=yes to boost
2021-06-02 19:57:55 +08:00
ENV LINK_APK_REPO='mirrors.ustc.edu.cn'
ENV LINK_APK_REPO_BAK='dl-cdn.alpinelinux.org'
2021-06-02 00:33:47 +08:00
2021-06-02 19:57:55 +08:00
RUN if [ "${USE_BACKUP}" = "yes" ]; then \
echo "Using backup address..." && sleep 3s; \
else \
echo "Using original address..." && sleep 3s; \
fi
RUN sed -i 's/dl-cdn.alpinelinux.org/'${LINK_APK_REPO}'/g' /etc/apk/repositories
# build requirements
RUN apk add bash wget cmake gcc g++ jq autoconf git libstdc++ linux-headers make m4 libgcc binutils ncurses
2021-06-02 19:57:55 +08:00
# php zlib dependencies
2021-06-02 00:33:47 +08:00
RUN apk add zlib-dev zlib-static
2021-06-02 19:57:55 +08:00
# php mbstring dependencies
2021-06-02 00:33:47 +08:00
RUN apk add oniguruma-dev
2021-06-02 19:57:55 +08:00
# php openssl dependencies
2021-06-02 00:33:47 +08:00
RUN apk add openssl-libs-static openssl-dev openssl
2021-06-02 19:57:55 +08:00
# php gd dependencies
2021-06-02 00:33:47 +08:00
RUN apk add libpng-dev libpng-static
2021-06-02 19:57:55 +08:00
# curl c-ares dependencies
2021-06-02 00:33:47 +08:00
RUN apk add c-ares-static c-ares-dev
2021-06-06 01:01:58 +08:00
# php event dependencies
RUN apk add libevent libevent-dev libevent-static
# php sqlite3 dependencies
RUN apk add sqlite sqlite-dev sqlite-libs sqlite-static
2021-06-02 00:33:47 +08:00
RUN mkdir /app
WORKDIR /app
2021-06-06 01:01:58 +08:00
COPY ac_override_1 /app/
COPY ac_override_2 /app/
2021-06-02 19:57:55 +08:00
COPY download.sh /app/
2021-06-06 01:01:58 +08:00
COPY config.json /app/
2021-06-02 00:33:47 +08:00
2021-06-06 01:01:58 +08:00
RUN chmod +x /app/download.sh
2021-06-02 00:33:47 +08:00
2021-06-06 01:01:58 +08:00
RUN ./download.sh swoole ${USE_BACKUP} && \
./download.sh inotify ${USE_BACKUP} && \
./download.sh mongodb ${USE_BACKUP} && \
./download.sh event ${USE_BACKUP} && \
./download.sh redis ${USE_BACKUP} && \
./download.sh libxml2 ${USE_BACKUP} && \
./download.sh liblzma ${USE_BACKUP} && \
./download.sh curl ${USE_BACKUP}
2021-06-02 19:57:55 +08:00
2021-06-06 01:01:58 +08:00
RUN ./download.sh php ${USE_BACKUP} ${VER_PHP}
2021-06-02 00:33:47 +08:00
2021-06-06 01:01:58 +08:00
COPY extensions.txt /app/
COPY check-extensions.sh /app/
COPY compile-php.sh /app/
2021-06-02 00:33:47 +08:00
2021-06-06 01:01:58 +08:00
RUN chmod +x ./check-extensions.sh && \
chmod +x ./compile-php.sh
2021-06-02 00:33:47 +08:00
2021-06-06 01:01:58 +08:00
RUN ./check-extensions.sh check_before_configure
2021-06-02 00:33:47 +08:00
2021-06-06 01:01:58 +08:00
RUN ./compile-php.sh ${VER_PHP}