Вот моя настройка:
Dockerfile
Код: Выделить всё
FROM php:7.4.33-apache
# Install necessary extensions
RUN apt-get update && apt-get install -y \
libmariadb-dev \
&& docker-php-ext-install mysqli pdo pdo_mysql
WORKDIR /var/www/html
Код: Выделить всё
version: '3.8'
services:
apache-php:
build:
context: /home/jasogu/docker/lamp-stack
dockerfile: Dockerfile
container_name: apache-php
ports:
- "8080:80"
volumes:
- ./www:/var/www/html
- ./php-config:/usr/local/etc/php
networks:
- lamp-network
depends_on:
- mysql
mysql:
image: mysql:8.0
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: "password"
MYSQL_DATABASE: "database"
MYSQL_USER: "user"
MYSQL_PASSWORD: "password"
volumes:
- ./mysql-data:/var/lib/mysql
networks:
- lamp-network
phpmyadmin:
image: phpmyadmin:latest
container_name: phpmyadmin
environment:
PMA_HOST: mysql
PMA_USER: "user"
PMA_PASSWORD: "password"
ports:
- "8081:80"
networks:
- lamp-network
depends_on:
- mysql
volumes:
mysql-data:
networks:
lamp-network:
- Запустил docker-compose down --volumes, чтобы остановить и удалить контейнеры.
- Использовал docker-compose up -d --build, чтобы перестроить образ с помощью файла Dockerfile.
- Доступ к контейнеру осуществлялся с помощью docker exec – это apache-php bash и проверил наличие расширений с помощью php -m.
Когда я запускаю php -m | grep mysqli или php -m | grep pdo_mysql, вывод отсутствует, что означает, что расширения не установлены.
Что я пробовал:
- Переписать файл Dockerfile, чтобы убедиться, что зависимости установлены правильно.
- Добавление phpinfo() для проверки конфигурации PHP (в выходных данных нет mysqli или pdo_mysql).
- Очистка старых изображений с помощью образа Docker обрезать -f и пересобрать все с нуля.
При проверке журналов я не Я не вижу каких-либо явных ошибок об отсутствующих расширениях или неудачных установках.
Вопрос
Как я могу успешно установить расширения mysqli и pdo_mysql в моем PHP 7.4. 33 контейнер? Что-то не так с моим Dockerfile или docker-compose.yml? Любая помощь будет принята с благодарностью!
Подробнее здесь: https://stackoverflow.com/questions/793 ... -container
Мобильная версия