Проблема с запуском Laravel в Docker

Рейтинг: 1Ответов: 1Опубликовано: 15.07.2023

Всем привет. Что-то из сил уже выбился, я не могу понять, что не так. Ответы на SO тыкают в одно и тоже - установи extension pdo_pgsql и pgsql, но я это итак делаю

Вот результат:

could not find driver (Connection: pgsql, SQL: select * from information_schema.tables where table_catalog = main and table_schema = public and table_name = migrations and table_type = 'BASE TABLE')

Вот Dockerfile:

FROM php:8.1.16-fpm

# Copy composer.lock and composer.json
COPY composer.lock composer.json /var/www/

# Set working directory
WORKDIR /var/www

# Install dependencies
RUN apt-get update && apt-get install -y \
      apt-utils \
      libpq-dev \
      libpng-dev \
      libzip-dev \
      zip unzip \
      git && \
      docker-php-ext-install pdo && \
      docker-php-ext-install pdo_pgsql && \
      docker-php-ext-install pgsql && \
      docker-php-ext-install bcmath && \
      docker-php-ext-install gd && \
      docker-php-ext-install zip && \
      apt-get clean && \
      rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# Install composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN composer install --no-scripts --ignore-platform-reqs

# Очищаем кэш
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
RUN apt-get update
RUN apt-get install sshpass

# Add user for laravel application
RUN groupadd -g 1000 www
RUN useradd -u 1000 -ms /bin/bash -g www www

# Copy existing application directory contents
COPY . /var/www

# Copy existing application directory permissions
COPY --chown=www:www . /var/www

RUN curl -sL https://deb.nodesource.com/setup_19.x | bash -
RUN apt update && apt install -y nodejs
RUN npm install -g npm@9.6.6
RUN npm install --ignore-scripts --legacy-peer-deps
RUN npm run build

USER www

EXPOSE 9000
CMD ["php-fpm"]

С ним ведь всё нормально, я тогда не понимаю почему PHP не хочет ставить расширения

Ответы

▲ 0

В общем, видимо, со времён PHP 7 многое изменилось. В итоге помогла вот эта конфигурация: https://github.com/harshalone/laravel-9-production-ready

Всем спасибо