docker pull php:8.0-alpine3.14
    docker run -d php:8.0-alpine3.14
    docker exec -it dbb0a /bin/sh

    1. #使用已经编译好了的so文件直接拷贝到容器中
    2. FROM php:8.0-fpm-alpine3.14
    3. #更新源 并 创建php扩展目录
    4. RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories &&apk update \
    5. #创建php扩展目录
    6. && docker-php-source extract\
    7. #安装必要依赖
    8. apk update \
    9. && apk add \
    10. autoconf \
    11. gcc \
    12. make \
    13. libc-dev \
    14. libxml2 \
    15. bzip2 \
    16. linux-headers \
    17. libssh2 \
    18. libmcrypt \
    19. unixodbc \
    20. sqlite \
    21. libpng \
    22. freetype \
    23. libjpeg-turbo \
    24. openssl \
    25. g++ \
    26. rabbitmq-c \
    27. unixodbc-dev \
    28. sqlite-dev \
    29. rabbitmq-c-dev \
    30. libssh2-dev \
    31. libmcrypt-dev \
    32. libjpeg-turbo-dev \
    33. freetype-dev \
    34. bzip2-dev \
    35. composer \
    36. git \
    37. libzip-dev \
    38. #使用pecl安装扩展
    39. && pecl install \
    40. redis \
    41. ssh2-1.3.1 \
    42. mcrypt \
    43. igbinary \
    44. protobuf \
    45. mongodb \
    46. grpc \
    47. swoole \
    48. && docker-php-ext-enable \
    49. redis \
    50. ssh2 \
    51. mcrypt \
    52. igbinary \
    53. protobuf \
    54. mongodb \
    55. grpc \
    56. swoole \
    57. #pecl 安装amqp不适用php8
    58. && mkdir /usr/src/php/ext/amqp \
    59. && curl -L https://github.com/php-amqp/php-amqp/archive/master.tar.gz | tar -xzC /usr/src/php/ext/amqp --strip-components=1 \
    60. && docker-php-ext-install amqp\
    61. && cd /usr/src/php/ext/sockets && /usr/local/bin/phpize \
    62. && ./configure --enable-sockets && make && make install \
    63. && docker-php-ext-enable sockets \
    64. && cd /usr/src/php/ext/opcache && /usr/local/bin/phpize \
    65. && ./configure --enable-opcache && make && make install \
    66. && docker-php-ext-enable opcache \
    67. && docker-php-ext-install \
    68. mysqli \
    69. bz2 \
    70. zip \
    71. shmop \
    72. gd \
    73. && docker-php-ext-configure pdo_odbc --with-pdo-odbc=unixODBC,/usr \
    74. && docker-php-ext-install pdo_odbc \
    75. pdo_mysql \
    76. pdo_sqlite \
    77. && composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ \
    78. && apk del libc-dev unixodbc-dev sqlite-dev rabbitmq-c-dev libssh2-dev libmcrypt-dev libjpeg-turbo-dev freetype-dev bzip2-dev libzip-dev autoconf make gcc \
    79. && cd ~ && docker-php-source delete && rm -rf /tmp/pear