使用 --platform 和 php fpm-alpine 为 docker 文件 alpine 提供正确的语法

PinoyStackOverflower

在 docker 文件中添加 PHP 版本的正确语法是什么?

我有这个语法:

FROM --platform=linux/x86-64 alpine:3.11 php:7.4-fpm-alpine

WORKDIR /app

ENV LC_ALL en_US.UTF-8
ENV LANG en_US.UTF-8

RUN apk --no-cache add tzdata && \
    cp /usr/share/zoneinfo/Etc/UTC /etc/localtime && \
    echo "UTC" | tee /etc/timezone && \
    apk del tzdata

RUN apk --update add wget \
    curl \
    git \
    php7 \
    php7-opcache \
    php7-ctype \
    php7-xml \
    php7-xmlreader \
    php7-xmlwriter \
    php7-tokenizer \
    php7-pcntl \
    php7-json \
    php7-dom \
    php7-zip \
    php7-gd \
    php7-curl \
    php7-mbstring \
    php7-redis \
    php7-posix \
    php7-mcrypt \
    php7-iconv \
    php7-pdo_mysql \
    php7-phar \
    php7-simplexml \
    php7-openssl \
    php7-sockets \
    php7-fileinfo && rm /var/cache/apk/*

这种语法的问题是我在这一行遇到错误: FROM --platform=linux/x86-64 alpine:3.11 php:7.4-fpm-alpine

在我的 docker 文件中添加 PHP 版本的正确语法是什么?

谢谢!

约书亚

FROM只接受一个三个参数并且--platform=linux/x86_64是一个修饰符而不是一个参数所以把它分成两行。

FROM --platform=linux/x86_64 alpine:3.11
FROM php:7.4-fpm-alpine

虽然,根据官方文档,您可能只想要,FROM php:7.4-fpm-alpine除非您有其他原因想要alpine:3.11图像上可用但图像上没有的东西php:7.4-fpm-alpine

Dockerfile在下面结果中添加我的更改我已经测试过这个并docker build ./在一个空目录中使用这个文件。

 FROM --platform=linux/x86-64 alpine:3.11 
 FROM php:7.4-fpm-alpine
 
 WORKDIR /app
 
 ENV LC_ALL en_US.UTF-8
 ENV LANG en_US.UTF-8
 
 RUN apk --no-cache add tzdata && \
     cp /usr/share/zoneinfo/Etc/UTC /etc/localtime && \
     echo "UTC" | tee /etc/timezone && \
     apk del tzdata
 
 RUN apk --update add wget \
     curl \
     git \
     php7 \
     php7-opcache \
     php7-ctype \
     php7-xml \
     php7-xmlreader \
     php7-xmlwriter \
     php7-tokenizer \
     php7-pcntl \
     php7-json \
     php7-dom \
     php7-zip \
     php7-gd \
     php7-curl \
     php7-mbstring \
     php7-redis \
     php7-posix \
     php7-mcrypt \
     php7-iconv \
     php7-pdo_mysql \
     php7-phar \
     php7-simplexml \
     php7-openssl \
     php7-sockets \
     php7-fileinfo && rm /var/cache/apk/*

作为额外的建议,这更像是“一致性”而不是“您的构建将很快中断”,因为 PHP 7.4 处于 LTS 中,并且不会有 PHP 7.5。您可能需要改变FROM php:7.4-fpm-alpine,以FROM php:7-fpm-alpine作为你intstallingphp7-*将封装技术上采取的最新兼容版本7包,但你对你的锁php-fpm版本到最新7 4版本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Docker php-fpm alpine中安装LDAP

Docker php-fpm-alpine:如何抑制警告

wkhtmltopdf 與 php:8-fpm-alpine

无法使用 Linux Alpine docker 为 AWS lambda 构建 zip 文件

openjdk:8-jre-alpine :- 使用 docker 和 cron 定期执行 jar 文件

PHP-FPM Alpine Docker Image 7.4 安裝 PHP 8.0

如何在Docker的官方php-fpm-alpine映像上安装XDebug?

如何在php:7.4-fpm-alpine docker容器中启用xdebug?

如何在php-fpm-alpine docker容器中运行cron作业?

在docker alpine中使用paramiko和sshtunnel的libssl问题

在docker中为Alpine Linux安装MySQL

在 docker 文件中使用 2 FROM:alpine-java-python 和 python3 删除已安装的 java?

错误:约束无法满足-在php:7-fpm-alpine上

无法在 php:fpm-alpine 中加载 mysqlnd 扩展

从golang,docker和alpine启动SSH代理

在php:7.2-fpm-alpine自定义docker映像中安装xmlreader所需的库是什么?

Alpine Docker PHP 致命错误中的 Composer

使用Nginx,PHP-FPM和Docker的PHP文件出现403错误

Docker 容器 (aspnet:5.0-alpine3.13) 无法使用 curl 下载文件

在shell的同一行中在docker alpine中设置和使用环境变量

使用非root用户时,Docker Alpine,Celery(worker和beat)失败并出现PermissionError

无法为基于 alpine 的 docker 安装 Microsoft ODBC Driver 17

在 kubernetes 上的 alpine docker 中克隆 repo 和移动文件时出现“目录或文件不存在”

错误重定位-未找到符号-构建docker-fpm-alpine映像

phpmyadmin:fpm-alpine docker无法访问本地主机

Docker:如何在基于Alpine的Docker镜像中使用bash?

.env文件未从Alpine Linux Docker中获取

打开在 docker 容器中创建的 pdf 文件(Alpine)

Sh:在 alpine Docker 映像上找不到文件