Laradock — Сервис «php-fpm» не удалось построить

#laravel #docker #laradock

Вопрос:

Информация:

  • ОС: Ubuntu 16.04
  • Версия докера: 20.10.6
  • Фиксация: 63fc1fd
  • Версии проекта:
    • Laravel 5.8.33
    • Vue 2.6.10

Моя среда докеров Laravel сегодня перестала работать.
После нескольких попыток я, наконец, удалил все изображения и попытался восстановить среду.
Я получаю ту же ошибку:

   apt-get install -yqq apt-utils libzip-dev zip unzip
E: Unable to correct problems, you have held broken packages.
ERROR: Service 'php-fpm' failed to build: The command '/bin/sh -c set -xe;     apt-get update -yqq amp;amp;     pecl channel-update pecl.php.net amp;amp;     apt-get install -yqq       apt-utils       libzip-dev zip unzip amp;amp;       docker-php-ext-configure zip --with-libzip amp;amp;       docker-php-ext-install zip amp;amp;       php -m | grep -q 'zip'' returned a non-zero code: 100
 

введите описание изображения здесь

Вот код моего файла докера php-fpm.
Есть идеи, что не так?

Ответ №1:

в Докерфайле

вы можете добавить:

ОТ композитора КАК композитора

СКОПИРУЙТЕ . /ЗАПУСТИТЕ приложение rm composer.блокировка и установка композитора
-оптимизация-автозапуск
-отсутствие взаимодействия
-отсутствие прогресса
-игнорирование-вопросы и ответы на платформе

ЗАПУСТИТЕ apk добавить —без кэша php
php7-обычный
php7-fpm
php7-pdo
php7-opcache
php7-zip

Комментарии:

1. Не могли бы вы объяснить, пожалуйста, что делает этот код? И в каком пункте вы предлагаете его добавить?

2. этот код для установки зависимостей или библиотек, могу я увидеть ваш код Dockerfile

3. atau cukup tambahkan ini di Dockerfile И ЗАПУСТИТЬ apk добавить —без кэша php php7-обычный php7-fpm

4. Файл Docker: github.com/laradock/laradock/blob/…

5. попробуйте использовать этот файл Dockerfilefile, он работает на моем laradock

Ответ №2:

вы добавили

ЗАПУСТИТЕ apk add —без кэша php
php7-обычный
php7-fpm

Комментарии:

1. Где именно, в php-fpm/Dockerfile городе ?

Ответ №3:

попробуйте это

 FROM composer AS composer

COPY . /app
RUN rm composer.lock amp;amp; composer install 
  --optimize-autoloader 
  --no-interaction 
  --no-progress 
  --ignore-platform-reqs
RUN chmod 777 -R storage

FROM alpine:3.13
LABEL Maintainer="Diki Rahman <diki@sawala.tech>"

RUN apk add --no-cache php 
    php7-common 
    php7-fpm 
    php7-pdo 
    php7-opcache 
    php7-zip 
    php7-phar 
    php7-iconv 
    php7-cli 
    php7-curl 
    php7-openssl 
    php7-mbstring 
    php7-tokenizer 
    php7-fileinfo 
    php7-json 
    php7-xml 
    php7-xmlwriter 
    php7-simplexml 
    php7-dom 
    php7-pdo_mysql 
    php7-pdo_pgsql 
    php7-pdo_sqlite 
    php7-tokenizer 
    php7-pecl-redis 
    nginx supervisor curl

COPY docker/nginx/nginx.conf /etc/nginx/nginx.conf
COPY docker/nginx/default.conf /etc/nginx/conf.d/default.conf

COPY docker/php-fpm/fpm-pool.conf /etc/php7/php-fpm.d/www.conf
COPY docker/php/php.ini /etc/php7/conf.d/timezone.ini

COPY docker/supervisord/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY docker/docker-entrypoint.sh /docker-entrypoint.sh

RUN chmod  x docker-entrypoint.sh
RUN mkdir -p /var/www/html
RUN mkdir -p /var/www/backend

RUN chown -R nginx.nginx /var/www/html amp;amp; 
  chown -R nginx.nginx /run amp;amp; 
  chown -R nginx.nginx /var/lib/nginx amp;amp; 
  chown -R nginx.nginx /var/log/nginx

WORKDIR /var/www/html

COPY --chown=nginx --from=composer /app /var/www/html
COPY --chown=nginx --from=composer /app /var/www/backend

EXPOSE 8080

ENTRYPOINT ["/docker-entrypoint.sh"]

HEALTHCHECK --timeout=10s CMD curl --silent --fail http://127.0.0.1:8080/fpm-ping
 

Комментарии:

1. Вы имеете в виду заменить существующий файл Dockerfile? Или добавьте этот код в какое-нибудь место? Я был бы признателен за большую ясность в отношении этого решения. Спасибо!

2. Откуда у тебя этот Докер-файл? Он сильно отличается от того, что находится в репозитории: github.com/laradock/laradock/blob/master/php-fpm/Dockerfile