当前位置: 首页 > news >正文

品牌网站建设 app建设建设标准 免费下载网站

品牌网站建设 app建设,建设标准 免费下载网站,谷歌搜索引擎入口google,建立个人征信系统的目的是利用php官网镜像php:7.3-fpm,会存在部分插件缺失的情况,自行搭建可适用业务的镜像,才是真理 Dockerhub 上 PHP 官方基础镜像主要分为三个分支: cli: 没有开启 CGI 也就是说不能运行fpm。只可以运行命令行。fpm: 开启了CGI&#x…

在这里插入图片描述

利用php官网镜像php:7.3-fpm,会存在部分插件缺失的情况,自行搭建可适用业务的镜像,才是真理
Dockerhub 上 PHP 官方基础镜像主要分为三个分支:

  • cli: 没有开启 CGI 也就是说不能运行fpm。只可以运行命令行。
  • fpm: 开启了CGI,可以用来运行web服务也可以用来运行cli命令。
  • zts: 开启了线程安全的版本。

在这里插入图片描述

1、继承基础镜像

FROM php:7.3-fpm
  • 指定构建镜像的基础源镜像,如果本地没有指定的镜像,则会自动从 Docker 的公共库 pull 镜像下来。
  • 必须是 Dockerfile 中非注释行的第一个指令,即一个 Dockerfile 从 FROM 开始
    2、安装PHP扩展

2、安装扩展

2.1、安装dockerhub中php官方提供的扩展

  • 安装一些常用的组件:pdo、pdo_mysql等
FROM php:7.3-fpm
docker-php-ext-install pdo pdo_mysql mcrypt zip gd pcntl opcache bcmath# 扩展指定一些自定义的编译参数的话
FROM php:7.3-fpm
RUN docker-php-ext-install pdo pdo_mysql mcrypt zip pcntl opcache bcmath\
&& docker-php-ext-install -j$(nproc) iconv \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd

2.2、使用PECL安装扩展

RUN pecl install grpc \
&& docker-php-ext-enable grpc \
&& pecl install -o -f redis \
&& docker-php-ext-enable redis \
&& rm -rf /tmp/pear

2.3、源码安装扩展

  • 针对复杂插件
RUN curl -fsSL 'https://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz' -o xcache.tar.gz \
&& mkdir -p /tmp/xcache \
&& tar -xf xcache.tar.gz -C /tmp/xcache --strip-components=1 \
&& rm xcache.tar.gz \
&& docker-php-ext-configure /tmp/xcache --enable-xcache \
&& docker-php-ext-install /tmp/xcache \
&& rm -r /tmp/xcache

3.开源的镜像库

  • webdevops/php-nginx:7.3-alpine
  • firehmx/php-7.3.33-fpm-alpine3.14:v1

4.实际例子

构造一个php7.3.33的镜像

4.1、查看官方基础镜像有什么扩展:

docker run  php:7.3.34-fpm-alpine3.14  php -m

4.2、安装

安装创建库:redis、zip、gd、bcmath、pdo_mysql、opcache

  • redis:redis是目前主流的Nosql数据库,常用。
  • zip:文件压缩扩展。
  • gd:图片处理扩展,一些图形验证码的生成不能没有这个扩展。
  • bcmath:没有这个库的话可能一些框架或者类库的composer依赖校验会无法通过。
  • pdo_mysql:连接数据库扩展。
  • opcache: 是 PHP 中的 Zend 扩展,可以大大提升 PHP 的性能。
4.2.1 创建工程目录
# 创建目录
mkdir lnmp/php -p
cd lnmp/php/# compser地址:https://github.com/composer/composer/releases
--
wget  https://github.com/composer/composer/releases/download/2.6.3/composer.phar# 配置文件1
mkdir conf.d
echo "date.timezone = Asia/Shanghai" > conf.d/date.ini# 配置文件2
# 这里加 \EOF 是防止${OPCODE}被转义
--
cat >> conf.d/opcode.ini << \EOF
opcache.enable=${OPCODE}
enable_clopcache.enable_cli=1
opcache.revalidate_freq=60
opcache.max_accelerated_files=100000
opcache.validate_timestamps=1
EOF
# 配置文件3
cat www.conf 
--
[www]
user = www
group = www
listen = 0.0.0.0:9000
pm = dynamic
pm.max_children = 100
pm.start_servers = 30
pm.min_spare_servers = 20
pm.max_spare_servers = 50# Dockerfile
touch Dockerfile
--
FROM php:7.3.33-fpm-alpine3.14
LABEL MAINTAINER="ifanaticfire@gmail.com"
ENV TZ "Asia/Shanghai"
ENV TERM xterm
# 默认关闭opcode
ENV OPCODE 0COPY ./conf.d/ $PHP_INI_DIR/conf.d/
COPY composer.phar /usr/local/bin/composer
COPY www.conf /usr/local/etc/php-fpm.d/www.conf
# 创建www用户
RUN addgroup -g 1000 -S www && adduser -s /sbin/nologin -S -D -u 1000 -G www www
# 配置阿里云镜像源,加快构建速度
RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories# PHPIZE_DEPS 包含 gcc g++ 等编译辅助类库,完成编译后删除
RUN apk add --no-cache $PHPIZE_DEPS \
&& apk add --no-cache libstdc++ libzip-dev vim\
&& apk update \
&& pecl install redis-5.3.4 \
&& pecl install zip \
&& pecl install swoole \
&& docker-php-ext-enable redis zip swoole\
&& apk del $PHPIZE_DEPS
# docker-php-ext-install 指令已经包含编译辅助类库的删除逻辑
RUN apk add --no-cache freetype libpng libjpeg-turbo freetype-dev libpng-dev libjpeg-turbo-dev \
&& apk update \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-png-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install -j$(nproc) pdo_mysql \
&& docker-php-ext-install -j$(nproc) opcache \
&& docker-php-ext-install -j$(nproc) bcmath \
&& docker-php-ext-install -j$(nproc) mysqli \
&& chmod +x /usr/local/bin/composerRUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
EXPOSE 9000
ENTRYPOINT ["php-fpm"]# 构建脚本
cat build-command.sh
--
docker build -t php-7.3.33-fpm-alpine3.14:v1 .# 运行脚本
sh build-command.sh # 查看镜像
docker images
---
php-7.3.33-fpm-alpine3.14    v1                      088d571602a3   43 minutes ago   116MB查看构建镜像:116M

4.3 推送到dockerhub

docker tag php-7.3.33-fpm-alpine3.14:v1 firehmx/php-7.3.33-fpm-alpine3.14:v1# 未登录的话 docker login 登录
docker push   firehmx/php-7.3.33-fpm-alpine3.14:v1

参考

  • https://segmentfault.com/a/1190000018372614
  • https://www.cnblogs.com/syushin/p/14955582.html
  • https://hub.docker.com/_/php
  • https://github.com/suyar/docker-php
http://www.yayakq.cn/news/566194/

相关文章:

  • 黄冈网站推广在线观看网站开发有前途
  • 芜湖做的好的招聘网站自己做小程序商城
  • 如何做好网站seo推广方案怎么写模板
  • 网站建设前台和后台设计拍摄宣传片制作公司
  • 单位网站的作用系统开发是什么
  • 建设安全备案登入那个网站建设网站读什么专业
  • 中城投建设集团网站招聘广告模板
  • 触摸屏html网站wordpress模板主题实例实战教程
  • 机械公司网站模板能自己做效果图的网站
  • 晋江网站建设晋江电子商务网站的建设和维护论文
  • 网站运营主要做什么工作页游和做网站
  • 艺麟盛世可以做网站推广吗打不开wordpress站点
  • 江苏路街道网站建设seo在网站建设中的作用
  • php网站开发cms想做国外的客户做网站怎么弄
  • 自适应网站m域名必须做301wordpress如何加友链
  • 帮别人做网站开什么内容的专票wordpress安装到跟目录
  • 怎么更改网站备案信息吗如何用excel做网站
  • 通过网站做跳板企业网站建立费用 作什么科目
  • 保山网站建设多少钱网站备案报道
  • 100网站建设100元网站建设
  • 网站集约化建设建设成效优化网站服务
  • 自动做设计的网站公司网站开发费用济南兴田德润o评价
  • 如何用区块链加密wordpress优化网站佛山厂商
  • seo网站优化推广费用口碑很好的金句
  • 怎么可以预览自己做的网站windows部署网站php
  • 莆田手表网站小程序app开发软件定制
  • 贵阳网站制作服务商wordpress设置当前页面标题
  • 如何做高校的网站版面设计浙江龙元建设集团 网站
  • 杭州做网站的企业汕头公众号开发公司
  • 电子商务网站建设视频教程太原网站建设网格未来