Проблема с запуском Laravel в Docker
Всем привет. Что-то из сил уже выбился, я не могу понять, что не так. Ответы на 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 не хочет ставить расширения
Источник: Stack Overflow на русском