Я создаю контейнер для своего проекта laravel, используя этот файл docker:
FROM composer:1.8
RUN apk add --no-cache libpng libpng-dev libjpeg-turbo-dev libwebp-dev zlib-dev libxpm-dev
RUN docker-php-ext-install pdo mbstring gd
RUN docker-php-ext-enable gd
WORKDIR /app
COPY . /app
RUN composer install
CMD php artisan serve --host=0.0.0.0 --port=8181
EXPOSE 8181
, затем пытаюсь использовать его в качестве службы внутри docker-compose.yml
файла:
version: '3'
services:
webservice:
image: private.repo.com/my_user/webservice
ports:
- '80:8181'
depends_on:
- mariadb
mariadb:
image: mariadb
volumes:
- './db:/var/lib/mysql'
environment:
- MYSQL_ROOT_PASSWORD=some_password
phpmyadmin:
image: phpmyadmin/phpmyadmin
depends_on:
- mariadb
ports:
- '443:80'
environment:
- PMA_HOST=mariadb
- PMA_PORT=3306
сейчасЯ получаю ошибку 500, когда хочу позвонить своим API.(ошибка [QueryException] не удалось найти драйвер)
Я искал об этом, и все, что я обнаружил, это то, что обычно это происходит, потому что что-то не так с .env
file
это мойФайл .env в проекте laravel
DB_CONNECTION=mysql
DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=my_db_name
DB_USERNAME=my_db_user
DB_PASSWORD=my_db_pass
DB_HOST
совпадает с моим файлом docker-compose.yml.
Я также пытался экспортировать порт 3306
в моем mariadb
сервис, но он тоже не работал
где я ошибся, просьба помочь
----------- update ----------
Я также проверил ip службы mariadb и поместил его в свой контейнер служб (пока они оба работают, не выключая их), но проблема остается.