注册
Mac系统M 系列芯片构建 arm x86 多平台 Docker 镜像搭建 php 环境
专栏/技术分享/ 文章详情 /

Mac系统M 系列芯片构建 arm x86 多平台 Docker 镜像搭建 php 环境

ooooo 2025/12/05 129 0 0
摘要

Macbook Pro M 系列 docker 安装达梦驱动搭建 php 环境

  1. 首先下载对应的驱动这个,找官方客服要一下即可,会给你发包,之前的链接地址我忘记了。
  2. 目录结构
 - dm8
   - bin // 官方包解药出来的驱动目录直接复制粘贴
   - drivers // 官方包解药出来的驱动目录直接复制粘贴
 - Dockfile
 - anchu-php.ini // php 配置
 - local.conf // 其他本地配置
 - [其他用户自己需要的配置自己加,没有就忽略]
  1. Dockerfile 详情,这里 php8 和 php7 配置几乎相同,唯一不同的就是什么环境选择对应的版本即可,这里贴一个 PHP8.1 的版本配置
FROM php:8.1-fpm
# 安装 PHP 扩展安装工具
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ 

# 安装扩展
RUN chmod +x /usr/local/bin/install-php-extensions && install-php-extensions \
    bcmath \
    gd \
    gettext \
    intl \
    imagick \
    mysqli \
    oci8 \
    opcache \
    pdo_mysql \
    pdo_oci \
    redis \
    shmop \
    soap \
    sockets \
    swoole \
    sysvsem \
    xmlrpc \
    yac \
    zip \
    xlswriter \
    gmp \
    pcntl

# 安装必要工具
RUN apt-get update && apt-get install -y procps vim python3-pip cron git

# php 启用 production 配置
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"

# 设置中文支持
RUN apt-get update && apt-get install -y locales
RUN locale-gen zh_CN.UTF-8
ENV LANG=zh_CN.UTF-8
ENV LANGUAGE=zh_CN:en
ENV LC_ALL=zh_CN.UTF-8

# 添加中文字体支持
RUN apt-get install -y ttf-wqy-zenhei ttf-wqy-microhei


COPY dm8 /dm8

# 增加达梦环境扩展,注意此处 /dm8 是单独安装在服务上的服务器,用用到系统扩展
ENV DM_HOME=/dm8
ENV LD_LIBRARY_PATH=/dm8/bin

# 增加达梦数据库 php 扩展
RUN echo "extension=/dm8/drivers/php_pdo/libphp81_dm.so" >> "$PHP_INI_DIR/conf.d/libphp81_dm.ini" && \
    echo "extension=/dm8/drivers/php_pdo/php81_pdo_dm.so" >> "$PHP_INI_DIR/conf.d/php81_pdo_dm.ini"


# 自定义 php 配置
COPY ./anchu-php.ini "$PHP_INI_DIR/conf.d"

# 设置 PHP-FPM 启动进程数 默认 max=5 start=2, 默认配置 www.conf, 后加载的覆盖,所以此处以 zz 开头确保后加载
COPY local.conf /usr/local/etc/php-fpm.d/zz-local.conf

# 安装 composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

  1. 构建镜像时,需要注意如果你的容器是需要用在 x86 的主机上时,你需要构建指定平台的镜像,构建 arm 平台也是如此,毕竟国产化服务器很多都是 arm 平台的
docker build --platform linux/amd64 -t maxlcoder/anchu-php-fpm-8.1:1.5.0-amd64 -f Dockerfile .

docker build --platform linux/arm64 -t maxlcoder/anchu-php-fpm-8.1-dm:1.1.0-arm64 -f Dockerfile .

  1. 如果你不想自己构建镜像,你也可以用我 dockerhub 上我这边已经构建好的镜像,选择对应的 tag 即可 。
  2. 如果你开发框架使用的是 Laravel ,你可以直接选着我这个扩展包进行开发Laravel达梦数据库完美适配扩展包
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服