[关闭]
@Lancelot2014 2019-12-11T10:10:39.000000Z 字数 2612 阅读 599

PHP Docker 镜像构建脚本

安装脚本


  1. FROM centos:7.6.1810
  2. ENV PHP_VERSION 7.3.12
  3. ENV SWOOLE_VERSION 4.4.12
  4. ENV PHP_REDIS_VERSION 5.1.1
  5. ENV PATH "/usr/local/php/bin:/usr/local/php/sbin:$PATH"
  6. RUN yum -y update \
  7. && yum install -y \
  8. autoconf \
  9. automake \
  10. libtool \
  11. make \
  12. gcc \
  13. gcc-c++ \
  14. libmcrypt-devel \
  15. libxml2-devel \
  16. gmp-devel \
  17. unzip \
  18. git \
  19. wget \
  20. openssl-devel \
  21. libcurl-devel \
  22. && rpm -ivh http://packages.psychotic.ninja/7/plus/x86_64/RPMS//libzip-0.11.2-6.el7.psychotic.x86_64.rpm \
  23. && rpm -ivh http://packages.psychotic.ninja/7/plus/x86_64/RPMS//libzip-devel-0.11.2-6.el7.psychotic.x86_64.rpm
  24. RUN mkdir -p /usr/local/etc/php \
  25. && mkdir -p /usr/local/php \
  26. && mkdir -p php \
  27. && wget http://php.net/get/php-7.3.2.tar.gz/from/this/mirror -O php.tar.gz \
  28. && tar -xf php.tar.gz -C php --strip-components=1 \
  29. && rm -r php.tar.gz \
  30. && ( \
  31. cd php \
  32. && ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/etc/php \
  33. --enable-cli --disable-fpm --disable-cgi --enable-inline-optimization --with-zlib \
  34. --with-curl --enable-mbregex --enable-mbstring --enable-pcntl --enable-sockets \
  35. --enable-json --with-pdo-mysql --enable-ipv6 --without-pear --enable-opcache --with-openssl \
  36. --with-freetype-dir --with-jpeg-dir --with-png-dir --without-sqlite3 \
  37. --without-pdo-sqlite --enable-simplexml --enable-xml --disable-xmlreader \
  38. --disable-xmlwriter --enable-libxml --disable-dom --enable-zip --enable-bcmath --with-gmp --with-pear\
  39. && make \
  40. && make install \
  41. && mv php.ini-production /usr/local/etc/php/php.ini \
  42. ) \
  43. && echo 'export PATH=/usr/local/php/bin:/usr/local/php/sbin:$PATH' >> /etc/profile \
  44. && rm -r php
  45. RUN wget https://github.com/phpredis/phpredis/archive/$PHP_REDIS_VERSION.tar.gz -O phpredis.tar.gz \
  46. && mkdir -p phpredis \
  47. && tar -xf phpredis.tar.gz -C phpredis --strip-components=1 \
  48. && rm phpredis.tar.gz \
  49. && ( \
  50. cd phpredis \
  51. && phpize \
  52. && ./configure \
  53. && make \
  54. && make install \
  55. ) \
  56. && echo "extension=redis.so" >> /usr/local/etc/php/php.ini \
  57. && rm -r phpredis \
  58. && wget https://github.com/osgochina/donkeyid/archive/donkeyid-1.0.tar.gz -O donkeyid.tar.gz \
  59. && mkdir -p donkeyid \
  60. && tar -xf donkeyid.tar.gz -C donkeyid --strip-components=1 \
  61. && rm donkeyid.tar.gz \
  62. && ( \
  63. cd donkeyid/donkeyid \
  64. && phpize \
  65. && ./configure \
  66. && make \
  67. && make install \
  68. ) \
  69. && echo "extension=donkeyid.so" >> /usr/local/etc/php/php.ini \
  70. && rm -r donkeyid \
  71. && wget https://github.com/swoole/swoole-src/archive/v$SWOOLE_VERSION.tar.gz -O swoole.tar.gz \
  72. && mkdir -p swoole \
  73. && tar -xf swoole.tar.gz -C swoole --strip-components=1 \
  74. && rm swoole.tar.gz \
  75. && ( \
  76. cd swoole \
  77. && phpize \
  78. && ./configure --enable-mysqlnd --enable-openssl\
  79. && make -j$(nproc) \
  80. && make install \
  81. ) \
  82. && echo "extension=swoole.so" >> /usr/local/etc/php/php.ini \
  83. && rm -r swoole
  84. RUN php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');" \
  85. && php composer-setup.php \
  86. && php -r "unlink('composer-setup.php');" \
  87. && mv composer.phar /usr/local/bin/composer
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注