Dockerfile для проекта с php c gitlab-runner

Пытаюсь сделать контейнер для проекта с след необходимыми библиотеками

dom curl json

Но каждый раз при сборке контейнера job'a жалется на отсутсвие этих модулей, понимаю, что делаю что-то не так, а что не понимаю Dockerfile:

FROM ubuntu:latest
FROM composer:2.1.12
FROM node:14.15.0-stretch
FROM php:8.1-cli

#composer and php
RUN apt update && apt install -y software-properties-common libxml2-dev libcurl4-openssl-dev
RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash && \
    apt update && apt install -y nodejs
RUN docker-php-ext-install dom curl json
# COPY /etc/php/8.1/mods-available/  /usr/local/etc/php/conf.d

# RUN curl -sS https://getcomposer.org/installer | php && \
#     mv composer.phar /usr/local/bin/composer && \
#     chmod +x /usr/local/bin/composer

#node

FROM gitlab/gitlab-runner
#gitlab-ruuner
RUN curl -L "https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh" | bash && \
    apt update && apt install -y gitlab-runner && \
    gitlab-runner uninstall && \
    gitlab-runner install --user=root --working-directory=/root && \
    gitlab-runner start

EXPOSE 4444
EXPOSE 7900

LABEL miekrif/uzvar 0.3

ENTRYPOINT ["/bin/bash"]

.gitlab-ci.yml

    .prepare-dev:
  stage: prepare
  script:
    - mkdir -p storage/framework/cache storage/framework/sessions storage/framework/testing storage/framework/views
  artifacts:
    when: always
    name: $CI_COMMIT_SHA
    untracked: true
    paths:
      - tests/js/screens
      - tests/js/report
  cache:
    paths:
      - storage/framework
      - vendor
      - node_modules
      - public
  tags:
    - new_container
  only:
    - ned_runner #Затычка бранча чтобы ранер не запускался
#    - develop

prepare-composer:
  extends: .prepare-dev
  stage: prepare
  script:
    - whoami
    - composer install --prefer-source --no-interaction
    - npm i
    - npm run prod
  artifacts:
    when: always
    name: $CI_COMMIT_SHA
    untracked: true
    paths:
      - tests/js/screens
      - tests/js/report
  cache:
    paths:
      - storage/framework
      - vendor
      - node_modules
      - public
  tags:
    - new_container

job log:

--------- STARTING WORK ------------
[32;1m$ whoami[0;m
gitlab-runner
[32;1m$ composer install --prefer-source --no-interaction[0;m
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. It is recommended that you run `composer update` or `composer update <package name>`.
Your lock file does not contain a compatible set of packages. Please run composer update.

  Problem 1
    - Root composer.json requires PHP extension ext-intl * but it is missing from your system. Install or enable PHP's intl extension.
  Problem 2
    - phpoffice/phpspreadsheet is locked to version 1.24.1 and an update of this package was not requested.
    - phpoffice/phpspreadsheet 1.24.1 requires ext-gd * -> it is missing from your system. Install or enable PHP's gd extension.
  Problem 3
    - phpoffice/phpspreadsheet 1.24.1 requires ext-gd * -> it is missing from your system. Install or enable PHP's gd extension.
    - maatwebsite/excel 3.1.40 requires phpoffice/phpspreadsheet ^1.18 -> satisfiable by phpoffice/phpspreadsheet[1.24.1].
    - maatwebsite/excel is locked to version 3.1.40 and an update of this package was not requested.

To enable extensions, verify that they are enabled in your .ini files:
    - /usr/local/etc/php/conf.d/docker-php-ext-bcmath.ini
    - /usr/local/etc/php/conf.d/docker-php-ext-exif.ini
    - /usr/local/etc/php/conf.d/docker-php-ext-gettext.ini
    - /usr/local/etc/php/conf.d/docker-php-ext-sodium.ini
You can also run `php --ini` in a terminal to see which files are used by PHP in CLI mode.
Alternatively, you can run Composer with `--ignore-platform-req=ext-intl --ignore-platform-req=ext-gd` to temporarily ignore these required extensions.
section_end:1672558253:step_script
[0Ksection_start:1672558253:upload_artifacts_on_failure
[0K[0K[36;1mUploading artifacts for failed job[0;m[0;m
[32;1mUploading artifacts...[0;m
Runtime platform                                  [0;m  arch[0;m=amd64 os[0;m=linux pid[0;m=34138 revision[0;m=6d480948 version[0;m=15.7.1

Ответы (0 шт):