【问题标题】:When I pull php docker images I get errors当我拉 php docker 图像时出现错误
【发布时间】:2021-06-20 12:45:49
【问题描述】:

我正在使用docker-compose.yml 构建一个基本的本地开发环境,我想包含最新的 php-fpm 版本,docker-compose.tml 文件如下:

version: "3.5"

services:
    nginx:
        image: nginx:alpine
        container_name: ${PROJECT_NAME}-nginx
        ports:
            - "80:80"
        volumes:
            - "./code:/code"
            - "./docker/nginx/vhost:/etc/nginx/conf.d/default.conf"
        depends_on:
            - php
        networks:
            - devproject

    php:
        build:
            dockerfile: Dockerfile
            context: ./docker/php
        container_name: ${PROJECT_NAME}-php
        ports:
            - "9000:9000"
        volumes:
            - "./code:/code"
        networks:
            - devproject

networks:
    devproject:
        driver: bridge

./docker/php/Dockerfile:

FROM php:8.0.7-fpm-alpine3.14

RUN apk update && apk add \
        curl-dev \
        libzip-dev \
        freetype-dev \
        libjpeg-turbo-dev \
        libpng-dev \
        libxml2-dev \
        gettext-dev \
    && docker-php-ext-install -j$(nproc) mysqli pdo pdo_mysql zip gd mbstring xml curl json gettext tokenizer

当 docker 尝试获取 php 图像时,我不断收到错误消息:

❯ docker-compose up -d
Building php
[+] Building 2.9s (4/4) FINISHED                                                                                                          
 => [internal] load build definition from Dockerfile                                                                                 0.0s
 => => transferring dockerfile: 38B                                                                                                  0.0s
 => [internal] load .dockerignore                                                                                                    0.0s
 => => transferring context: 2B                                                                                                      0.0s
 => ERROR [internal] load metadata for docker.io/library/php:8.0.7-fpm-alpine3.14                                                    2.8s
 => [auth] library/php:pull token for registry-1.docker.io                                                                           0.0s
------
 > [internal] load metadata for docker.io/library/php:8.0.7-fpm-alpine3.14:
------
failed to solve with frontend dockerfile.v0: failed to create LLB definition: no match for platform in manifest sha256:a8409dff6597f2ef5f7ecd3c672671bb2af9a390073efd74f95c54aa41cba22a: not found
ERROR: Service 'php' failed to build : Build failed

即使我尝试单独提取图像:docker pull php:8.0.7-fpm-alpine3.14 我得到另一个错误:

❯ docker pull php:8.0.7-fpm-alpine3.14
8.0.7-fpm-alpine3.14: Pulling from library/php
no matching manifest for linux/amd64 in the manifest list entries

.env文件:

PROJECT_NAME=myproject
DEV_DOMAIN=docker.local

我尝试了许多不同的php 版本,但都给出了上述错误:

  • php:fpm-alpine3.14
  • php:alpine3.14
  • php:8.1.0alpha1-fpm-alpine3.14
  • php:7.4.20-fpm-alpine3.14

我的docker-compose.yml 或./docker/php/Dockerfile 有错误吗?

我在许多网站和论坛中搜索了类似的错误和 github 问题(例如 docker github issue)我尝试了所有建议的解决方案但没有运气,虽然有许多图像运行良好而没有任何问题(nginx、mysql、alpine)

我正在为 Windows 10 Pro 和 UBUNTU 20.04 发行版使用 WSL2

【问题讨论】:

    标签: php docker docker-compose


    【解决方案1】:

    试试docker-compose build --no-cache php-fpm

    【讨论】:

      猜你喜欢
      • 2018-08-09
      • 2016-01-20
      • 1970-01-01
      • 1970-01-01
      • 2021-12-28
      • 1970-01-01
      • 2014-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多