代码之家  ›  专栏  ›  技术社区  ›  Seyed Ali Roshan

作为docker compose服务的laravel-[QueryException]找不到驱动程序

  •  0
  • Seyed Ali Roshan  · 技术社区  · 7 年前

    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
    

    现在,当我想调用我的API时,我遇到了错误500。

    我搜索了一下,我发现它经常发生,因为它有问题 .env 文件

    这是我在laravel项目中的.env文件

    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

    我还尝试了出口港口 3306 mariadb

    -----------更新-----------

    我还检查了mariadb服务的ip,并将其放在我的服务容器中(当它们都工作时,没有关闭它们),但问题仍然存在。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Seyed Ali Roshan    7 年前

    我也必须安装pdo_mysql

    现在我的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 pdo_mysql # this line is changed
    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
    

    https://github.com/docker-library/php/issues/62#issuecomment-70306737