zoukankan      html  css  js  c++  java
  • docker安装php及使用dockfile创建镜像和使用,安装php扩展

    docker安装php

    拉取镜像

    docker pull php:7.3.19-fpm

     运行容器

    -v /mnt/hgfs/docinner/code/php:/code : 将主机中项目的目录 xxx/php 挂载到容器的 /code

    docker run --name vm-php-fpm -v /mnt/hgfs/docinner/code/php:/code -d php:7.3.19-fpm

    优化-统一使用网络

    docker run --name vm-php-fpm --net vm-net --network-alias php -v /mnt/hgfs/docinner/code/php:/code -d php:7.3.19-fpm

     php dockerfile

    dockfile内容

    FROM php:7.3.19-fpm

    # 开启php扩展安装
    ARG INSTALL_PHPEXT=true
    # phpredis版本支持
    ARG PHPREDIS_VERSION=3.1.3

    # 复制指令,从上下文目录中复制文件或者目录到容器里指定路径。
    # 目标路径, 该路径不用事先建好,路径不存在的话,会自动创建。
    COPY redis.tar.gz /tmp/

    # 安装pdo、redis扩展支持
    # 参考地址:https://www.cnblogs.com/jxxiaocao/p/12118637.html
    RUN if [ ${INSTALL_PHPEXT} = true ]; then 
        apt-get update 
        # install php pdo extension
        && docker-php-ext-install pdo pdo_mysql 
        # install php redis extension
        && tar xvf /tmp/redis.tar.gz 
        && rm -r /tmp/redis.tar.gz 
        && mkdir -p /usr/src/php/ext 
        && mv phpredis-${PHPREDIS_VERSION} /usr/src/php/ext/redis 
        && docker-php-ext-install redis 
        # install php gd extension
        # 安装各种库
        && apt install -y libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev 
        # 解压源码
        && docker-php-source extract 
        && cd /usr/src/php/ext/gd 
        # 准备编译
        && docker-php-ext-configure gd --with-webp-dir=/usr/include/webp --with-jpeg-dir=/usr/include --with-png-dir=/usr/include --with-freetype-dir=/usr/include/freetype2 
        # 编译安装
        && docker-php-ext-install gd 
        # install vim
        && apt-get install -y vim 
        # install ping
        && apt install -y iputils-ping 
    ;fi

    build

    docker build -t php:cible2.0 .

    运行容器

    docker run --name vm-basicfinder-v3nf-php --net vm-basicfinder-v3nf --network-alias php -v /mnt/hgfs/basicfinder/v3nf-api:/basicfinder/www/v3nf.basicfinder.com/api -v /mnt/hgfs/basicfinder/v3nf-web:/basicfinder/www/v3nf.basicfinder.com/web  -d php:cible2.0

     php 安装完扩展存放目录

    /usr/local/lib/php/extensions/no-debug-non-zts-20180731/
  • 相关阅读:
    System.nanoTime()的使用
    只为高效、流畅开发 —— 码云企业版 3.0 倾情上线
    不自律的人,下场都很惨
    刘德:小米已投89家生态链企业 有品要做百亿电商平台(本质上是是利用了小米的大火炉的余热,但也有反向的正面作用)
    英雄无敌手游(战争纪元云中城,还可以骑龙,绝美)
    openFrameworks 是一个旨在助力你进行开创性工作的开源 C++ 工具箱(是很多其它类库的组合)
    Core开发-MVC 使用dotnet 命令创建Controller和View
    Ant Table组件
    web性能优化
    scss + react + webpack + es6
  • 原文地址:https://www.cnblogs.com/wanghaokun/p/14072370.html
Copyright © 2011-2022 走看看