麒麟v10 arm64系统下docker构建php8.2境像

# 使用官方PHP镜像作为基础镜像
FROM php:8.2-fpm

#准备编译
RUN apt-get update \
    && apt-get install -y \
        libzip-dev \
        zip \
        unzip \
    libwebp-dev \
    libjpeg-dev \
    libpng-dev \
    libfreetype6-dev \
    libxml2-dev \
    libjpeg62-turbo-dev \
    libxpm-dev

#解压源码
RUN docker-php-source extract

#进入gd源码文件夹
RUN cd /usr/src/php/ext/gd

#编译配置GD库
RUN docker-php-ext-configure gd --with-webp --with-jpeg --with-freetype

# 安装扩展
RUN docker-php-ext-install gd pdo_mysql mysqli zip

# 安装xmlrpc扩展
RUN pecl install channel://pecl.php.net/xmlrpc-1.0.0RC3

## 配置php.ini文件
RUN echo "extension=xmlrpc.so" > /usr/local/etc/php/conf.d/xmlrpc.ini

### 寻找适用于 ARM64 架构的 MySQL 8.2 Docker 镜像 为了获取适用于 ARM64 架构的 MySQL 8.2 Docker 镜像,可以通过多种方式实现这一目标。 #### 方法一:通过 Docker Hub 官方仓库查找 Docker Hub 是最常用的容器镜像托管平台之一。官方通常会提供多架构支持版本的镜像。对于特定于 ARM64 的 MySQL 版本: 访问 [MySQL 官方页面](https://hub.docker.com/_/mysql),并确认是否有针对 ARM64 平台的支持标签。如果存在,则可以直接拉取该镜像: ```bash docker pull mysql:8.2.0-arm64v8 ``` 此命令假设 `arm64v8` 标签代表了兼容 ARM64 架构的 MySQL 8.2 版本[^1]。 #### 方法二:自定义构建适合 ARM64 的 MySQL 8.2 镜像 当无法找到合适的预编译镜像时,可以选择基于源码自行编译或调整现有的 Dockerfile 来创建满足需求的新镜像。这可能涉及到安装依赖项以及设置环境变量等操作。 例如,编写一个简单的 Dockerfile 文件用于构建 ARM64 支持的 MySQL 服务端程序: ```dockerfile FROM arm64v8/ubuntu:focal AS builder RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y software-properties-common gnupg lsb-release wget && \ echo "deb http://repo.mysql.com/apt/ubuntu $(lsb_release -cs)-mysql mysql-8.2" | tee /etc/apt/sources.list.d/mysql.list && \ wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb && dpkg -i ./mysql-apt-config*.deb && rm -rf *.deb && \ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5072E1F5 &>/dev/null || true && \ apt-get clean all && rm -rf /var/lib/apt/lists/* FROM arm64v8/debian:buster-slim COPY --from=builder / / ENV MYSQL_ROOT_PASSWORD=rootpassword \ MYSQL_DATABASE=mydatabase \ MYSQL_USER=myuser \ MYSQL_PASSWORD=mypassword EXPOSE 3306/tcp CMD ["mysqld"] ``` 上述脚本首先在一个临时构建阶段中设置了必要的 APT 存储库和密钥,接着复制这些资源到最终运行时环境中,并设定了默认数据库配置参数[^2]。 完成 Dockerfile 编写之后,执行如下指令来进行本地构建过程: ```bash docker build . -t my-mysql8.2-arm64 ``` 最后一步就是测试新生成的镜像是否正常工作: ```bash docker run --name some-mysql -p 3306:3306 -d my-mysql8.2-arm64 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值