@TORONTOADLER

Устранение ошибок пакетов в Dockerfile?

Всем привете впервые решил собрать докер из собственного образа, команды которые я использую для накатки:
FROM ubuntu:latest
RUN apt-get -y update
RUN apt-get install -y apache2
RUN apt-get install -y apt-utils
EXPOSE 80
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y php php-pgsql php-mbstring php-xml php-apcu composer php-mongodb php-curl php-memcached
WORKDIR /var/www/html
RUN apt-get -y install npm
RUN npm install
CMD [ "npm","start" ]
RUN composer install
RUN npm run dev

После создание с помощью docker build -t name .
Выдает рад ошибок связанных с версиями
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Your lock file does not contain a compatible set of packages. Please run composer update.

  Problem 1
    - doctrine/doctrine-cache-bundle is locked to version 1.4.0 and an update of this package was not requested.
    - doctrine/doctrine-cache-bundle 1.4.0 requires php ^7.1 -> your php version (8.1.2) does not satisfy that requirement.
  Problem 2
    - doctrine/migrations is locked to version 1.4.1 and an update of this package was not requested.
    - doctrine/migrations 1.4.1 requires php ^5.5|^7.0 -> your php version (8.1.2) does not satisfy that requirement.
  Problem 3
    - doctrine/mongodb is locked to version 1.6.4 and an update of this package was not requested.
    - doctrine/mongodb 1.6.4 requires php ^5.6 || ^7.0 -> your php version (8.1.2) does not satisfy that requirement.
  Problem 4
    - doctrine/mongodb-odm is locked to version 1.3.7 and an update of this package was not requested.
    - doctrine/mongodb-odm 1.3.7 requires php ^5.6 || ^7.0 -> your php version (8.1.2) does not satisfy that requirement.
  Problem 5
    - doctrine/mongodb-odm-bundle is locked to version 3.6.2 and an update of this package was not requested.
    - doctrine/mongodb-odm-bundle 3.6.2 requires php ^5.6 || ^7.0 -> your php version (8.1.2) does not satisfy that requirement.
  Problem 6
    - doctrine/orm is locked to version 2.7.5 and an update of this package was not requested.
    - doctrine/orm 2.7.5 requires php ^7.1 -> your php version (8.1.2) does not satisfy that requirement.
  Problem 7
    - friendsofsymfony/rest-bundle is locked to version 2.1.1 and an update of this package was not requested.
    - friendsofsymfony/rest-bundle 2.1.1 requires php ^5.5.9|~7.0 -> your php version (8.1.2) does not satisfy that requirement.
  Problem 8
    - friendsofsymfony/user-bundle is locked to version dev-master and an update of this package was not requested.
    - friendsofsymfony/user-bundle dev-master requires php ^5.5.9 || ^7.0 -> your php version (8.1.2) does not satisfy that requirement.
  Problem 9
    - zendframework/zend-code is locked to version 2.6.3 and an update of this package was not requested.
    - zendframework/zend-code 2.6.3 requires php ^5.5 || 7.0.0 - 7.0.4 || ^7.0.6 -> your php version (8.1.2) does not satisfy that requirement.
  Problem 10
    - zendframework/zend-eventmanager is locked to version 3.0.1 and an update of this package was not requested.
    - zendframework/zend-eventmanager 3.0.1 requires php ^5.5 || ^7.0 -> your php version (8.1.2) does not satisfy that requirement.
  Problem 11
    - doctrine/doctrine-cache-bundle 1.4.0 requires php ^7.1 -> your php version (8.1.2) does not satisfy that requirement.
    - doctrine/doctrine-bundle 1.12.13 requires doctrine/doctrine-cache-bundle ~1.2 -> satisfiable by doctrine/doctrine-cache-bundle[1.4.0].
    - doctrine/doctrine-bundle is locked to version 1.12.13 and an update of this package was not requested.
The command '/bin/sh -c composer install' returned a non-zero code: 2

Подскажите что делать в этой ситуации пожалуйста.
В docker images контейнер не появляется, по этому я не могу посмотреть логи.
  • Вопрос задан
  • 67 просмотров
Пригласить эксперта
Ответы на вопрос 2
@vitaly_il1
DevOps Consulting
Насколько понимаю. Docker тут ни при чем, проблема с "сomposer install". Запустите его локально и убедитесь что все пакеты указаны правильно.
Кстати, в Dockerfile я не вижу что вы копируете ваш проект.
Ответ написан
iMedved2009
@iMedved2009
Не люблю людей
1. Не надо использовать latest.
2. Если вам нужен контейнер с пхп нужной версии то почему бы не взять именно контейнер с пхп нужной версии а не брать Ubuntu и ставить туда пхп.
3. Есть правило один контейнер - один процесс. Вы же пытаетесь в один контейнер как в виртуалку запихать все-все

Менеджер пакетов поставил вам версию пхп 8 а вам нужна 7
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы