Получение неправильных ошибок в докер-контейнере laravelPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Получение неправильных ошибок в докер-контейнере laravel

Сообщение Anonymous »

Недавно я изучал Docker и пытался преобразовать существующее веб-приложение в контейнер. Однако в течение нескольких дней я получал постоянную ошибку, которую до сих пор не устранил. Проект отлично работает на локальном компьютере и на AWS Elastic Beanstalk (через CodePipeline). Только в докере возникает эта ошибка, которая даже не имеет смысла.
Если вы видите изображение ниже, ошибка связана со строкой 51 (ранее строка 50); поэтому я добавил dd в строку 44, но ошибка ссылается на строку 50 и даже не вызывает dd (строка 44), а затем все еще показывает ошибку в строке 51 (ранее строка 50, прежде чем я добавил dd). Я ломаю голову над этим уже несколько дней, работая над этим в свободное время. Для меня это просто не имеет смысла.
Изображение

Я хотел бы отметить, что установка композитора, установка npm и сборка запуска npm прошли успешно. Папки public, node_modules иvendor добавляются в dockerignore и gitignore. Таким образом, все они генерируются/компилируются во время выполнения, а затем обслуживаются fpm и nginx. Ни один из этих файлов не копируется в контейнер ни из моего локального хранилища, ни из репозитория. (И) Я также пытался добавить их в репозиторий (поставщик и общую папку после сборки запуска npm), но все равно получаю ту же ошибку.

Код: Выделить всё

docker-compose.yml

Код: Выделить всё

services:
server:
container_name: server
platform: linux/amd64
image: xxxx/xxmy-private-repoxx
build:
context: .
dockerfile: Dockerfile
restart: unless-stopped
tty: true
working_dir: /var/www
volumes:
- /var/www
ports:
- "11001:9000"

Код: Выделить всё

Dockerfile

Код: Выделить всё

FROM php:8.1-fpm as stage-php

# set working directory
WORKDIR /var/www

# install dependencies
RUN --mount=type=cache,target=/var/cache/apt \
apt-get update -y \
&& apt-get install -y curl unzip libsodium-dev libpq-dev libcurl4-gnutls-dev libonig-dev zlib1g-dev libpng-dev libc-client-dev libkrb5-dev libicu-dev libzip-dev libxslt-dev software-properties-common nginx npm

# install php extensions and cleanup
RUN --mount=type=cache,target=/var/cache/apt \
docker-php-ext-configure gd \
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
&& docker-php-ext-configure zip \
&& docker-php-ext-install gd soap sodium imap intl mysqli xsl pdo pdo_mysql bcmath curl opcache mbstring zip \
&& apt autoremove -y \
&& apt clean \
&& rm -rf /var/lib/apt/lists/*

# set default user and group
RUN usermod --uid 1000 www-data \
&& groupmod --gid 1000 www-data

# composer and install
COPY --chown=www-data:www-data . /var/www
COPY --from=composer:2.7.2 /usr/bin/composer /usr/bin/composer

# transfer custom configs
COPY ./docker/php/php.ini /usr/local/etc/php/php.ini
COPY ./docker/php/php-fpm.conf /usr/local/etc/php-fpm.d/www.conf
COPY ./docker/php/zz-docker.conf /usr/local/etc/php-fpm.d/zz-docker.conf
COPY ./docker/nginx/fastcgi_params /etc/nginx/fastcgi_params
COPY ./docker/nginx/nginx.conf /etc/nginx/nginx.conf
COPY ./docker/php/entrypoint.sh /app-container-entrypoint.sh

RUN chmod +x /app-container-entrypoint.sh
ENTRYPOINT ["/app-container-entrypoint.sh"]

Код: Выделить всё

entrypoint.sh

Код: Выделить всё

#!/bin/bash

#if [ ! -f "vendor/autoload.php" ]; then
composer install --no-progress --no-interaction
chown -R www-data:www-data /var/www/vendor

npm install
chown -R www-data:www-data /var/www/node_modules

npm run build
chown -R www-data:www-data /var/www/public
#fi

php-fpm -D
nginx -g "daemon off;"
Надеюсь, что кто-нибудь укажет мне правильное направление, как это исправить. Это единственное, что мешает мне добиться прогресса и приступить к преобразованию других моих веб-приложений в контейнеры.

Подробнее здесь: https://stackoverflow.com/questions/783 ... -container
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»