Таким образом, после многих попыток кажется, что приложение. Файл docker неправильно выполняет команду RUN, так как драйвер pdo не установлен. Как мне это вылечить?
У меня есть сайт в docker -компонентном файле. Это работало нормально, пока Docker не обновлено сегодня.
Когда я пытаюсь просмотреть сайт в браузере (http://127.0.0.1: 8080 / ) Laravel выдает ошибку
Illuminate\Database\QueryException
could not find driver (SQL: select * from `CMSPages` where `PageSlug` = Homepage limit 1)
http://127.0.0.1:8080/
Тем не менее, с локального хоста я могу запустить миграцию и заполнение, и это без проблем соединяется. Я также могу подключиться к БД из heidi на хосте, я подключился к экземпляру PHP, попробовал тинкер php и он также может подключиться к БД и получить данные обратно.
Итак почему я не могу получить доступ к БД из браузера?
Docker -compose.yml
version: '2'
services:
nginx:
image: nginx:1.13.12
ports:
- "8443:443"
- "8080:80"
volumes:
- ./:/var/www
- ./docker/nginxconf:/etc/nginx/conf.d
- ./docker/ssl-cert:/etc/nginx/certs
working_dir: /var/www
links:
- php
php:
build:
context: ./
dockerfile: docker/app.docker
volumes:
- ./:/var/www
depends_on:
- db
links:
- db
environment:
- "DB_PORT=3306"
- "DB_HOST=db"
db:
image: mariadb
environment:
- "MYSQL_ROOT_PASSWORD=removed"
- "MYSQL_DATABASE=removed"
ports:
- "33061:3306"
app. docker
FROM php:7-fpm
RUN apt-get update
RUN apt-get install -y libmcrypt-dev mariadb-client
RUN apt-get install libmcrypt4
RUN docker-php-ext-install pdo_mysql
WORKDIR /var/www