Docker - pdo_mysql(nginx + PHP7 + MariaDB + phpMyAdmin)Symfony + Doctrine

时间:2017-09-21 10:20:02

标签: symfony docker pdo

将pdo_mysql安装到我的docker容器中时遇到了一些问题。

在Symfony中我收到了这个错误:

  

PDOException PDOException DriverException   HTTP 500内部服务器错误   驱动程序中发生异常:找不到驱动程序

Symfony - config.yml

doctrine:
dbal:
    driver: pdo_mysql

Dockerfile

FROM phpdockerio/php7-fpm:latest

# Install selected extensions and other stuff
RUN apt-get update \
&& apt-get -y --no-install-recommends install vim mc apt-utils \
&& php7-pdo_mysql php7-pdo \
&& apt-get clean; rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 
/usr/share/doc/*

WORKDIR "/var/www/project"

搬运工-compose.yml

version: "3.1"
services:

mysql:
  image: mariadb
  container_name: project-mariadb
  environment:
    MYSQL_ROOT_PASSWORD: root


phpmyadmin:
  image: phpmyadmin/phpmyadmin
  container_name: project-pma
  restart: always
  links:
    - mysql
  ports:
    - 8183:80
  environment:
    PMA_HOST: mysql
    PMA_USER: root
    PMA_PASSWORD: root

webserver:
  image: nginx:alpine
  container_name: project-websrv
  working_dir: /var/www/project
  volumes:
      - ../../Sources/project/trunk/src/:/var/www/project
      - ./phpdocker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
  ports:
   - "8080:80"
  links:
   - php-fpm

php-fpm:
  build: phpdocker/php-fpm
  container_name: project-php
  working_dir: /var/www/project
  volumes:
    - ../../Sources/project/trunk/src/:/var/www/project
    - ./phpdocker/php-fpm/php-ini-overrides.ini:/etc/php/7.0/fpm/conf.d/99-
overrides.ini
  links:
    - mysql  

docker-compose ps

d:\Work\DockerContainers\project>docker-compose ps
 Name                  Command             State          Ports
---------------------------------------------------------------------------
project -mariadb   docker-entrypoint.sh mysqld   Up      3306/tcp
project -php       /bin/sh -c /usr/bin/php-fpm   Up      9000/tcp
project -pma       /run.sh phpmyadmin            Up      0.0.0.0:8183->80/tcp
project -websrv    nginx -g daemon off;          Up      0.0.0.0:8080->80/tcp

d:\Work\DockerContainers\project>

我有这个linux版本:

PRETTY_NAME="Debian GNU/Linux 8 (jessie)"
NAME="Debian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=debian

我试图在Dockerfile中更改pdo_mysql的包名称,这是我在论坛上找到的,我尝试通过apt-get install直接在容器中安装,但没有任何帮助我总是得到相同的消息:

/bin/sh: 1: docker-php-ext-install: not found (docker-compose build)
E: Unable to locate package php7-mysql (pdo_mysql etc.) (root in docker container)

PHP-INI-overrides.ini

upload_max_filesize = 100M
post_max_size = 108M
extension=pdo.so
extension=pdo_mysql.so

我不知道Symfony配置中是否存在此问题或Docker问题

请帮帮我吗?

非常感谢

0 个答案:

没有答案