栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker打包php7.3镜像

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker打包php7.3镜像

docker 打包php镜像

CentOS 7
Docker 1.16.x
php: 7.3

构建docker打包步骤 step.1 拉取基础php:7.3-apache镜像
docker pull php:7.3-apache

可以查看一下php镜像的环境变量

docker inspect php:7.3-apache

step.2 创建Dockerfile

在你的php项目项目代码下创建Dockerfile文件,如下结构

-myAppPHP
    |-src
        |-index.php
    |-config
        |-php.ini
    |-Dockerfile

注意,建议把php.ini一起拷贝到镜像中

index.php的内容如下


Dockerifle的内容如下

FROM php:7.3-apache
COPY ./src /var/www/html/
COPY ./config /usr/local/etc/php/

注意,拷贝的路径是src下的文件,到/var/www/html/下,不包括src,如需要包括,则使用COPY . /var/www/html/

参考地址 https://hub.docker.com/_/php/

step.3 开始构建docker镜像

在Dockerfile文件的同级目录下执行构建docker镜像指令

docker build -t phpapp:latest .

查看镜像

step.4 启动镜像
docker run -d -p 30001:80 --name myphp phpapp

浏览器输入 IP:30001即可见如下内容

安装常用php拓展模块

查看默认php模块

# 进入php容器
docker exec -it myphp bash

进入容器后适用php -m 查看启用的模块

通过php -i 查看php信息
php -i | grep -i extension_dir 查看拓展目录

执行php安装指令

# 容器中执行
docker-php-ext-install pdo_mysql
docker-php-ext-install mysqli

php:7.3-apache ls: cannot access ‘.’: Operation not permitted
这是docker版本过低,把docker升级到1.20以上可以解决

也可以将安装命令做到Dockerfile中

FROM php:7.3-apache
COPY ./src /var/www/html/
COPY ./config /usr/local/etc/php/
RUN docker-php-ext-install pdo_mysql
RUN docker-php-ext-install mysqli
其他php的拓展安装

php拓展安装过程常用的命令有

docker-php-source
docker-php-ext-install
docker-php-ext-enable
docker-php-ext-configure

参考地址https://www.cnblogs.com/yinguohai/p/11329273.html

php的拓展目录在如下目录

cd /usr/src/php/ext/

如无改目录,可能是未解压,我们进入/usr/src,可以看到如下内容

cd /usr/src
ls
php.tar.xz  php.tar.xz.asc

使用 docker-php-source extract 命令解压

安装拓展时,只需要使用 docker-php-ext-install 即可,如果没有需要的拓展,则可下载源码到改目录,再使用该命令进行安装,安装好后,可以启用

启用插件的命令为docker-php-ext-enable

启动的插件配置,我们可以在/usr/local/etc/php目录下的conf.d找到一一对应的模块配置

cd /usr/local/etc/php
ls
conf.d  php.ini  php.ini-development  php.ini-production

# 当个模块的配置文件
ls conf.d/
docker-php-ext-mysqli.ini  docker-php-ext-pdo_mysql.ini  docker-php-ext-sodium.ini
# 查看配置内容长什么样的
cat docker-php-ext-mysqli.ini
extension=mysqli.so

显然,跟php.ini中的写法一样,我们也可以直接修改/usr/local/etc/php/php.ini文件,添加php拓展的配置

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/741064.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号