mariadb 无法使用Docker Compose安装pdo pdo_mysql

kq0g1dla  于 2022-11-08  发布在  Docker
关注(0)|答案(1)|浏览(142)

我的 Docker - composer

version: '3.9'

services:
    mysql:
        image: mariadb:latest
        environment:
            MYSQL_DATABASE: mariadb1
            MYSQL_USER: user1
            MYSQL_PASSWORD: pass1
            MYSQL_ROOT_PASSWORD: pass1
    php-fpm:
        image: php:7.4-fpm-alpine
        build: .
        # command: docker-php-ext-install mysqli && docker-php-ext-enable mysqli
        # command: docker-php-ext-install mysqli pdo pdo_mysql && docker-php-ext-enable pdo_mysql
        command: docker-php-ext-install mysqli pdo pdo_mysql
        volumes:
            - ./mysite:/var/www/html:delegated

然后我开始使用

docker-compose -f docker-compose.yaml up --abort-on-container-exit

我得到的错误

Aborting on container exit...
[+] Running 3/3
 ⠿ Container wp_nginx-nginx-1    Stopped                                                                                                                                   0.1s
 ⠿ Container wp_nginx-php-fpm-1  Stopped                                                                                                                                   0.0s
 ⠿ Container wp_nginx-mysql-1    Stopped                                                                                                                                   0.3s
ERRO[0019] 0

我的最终目标是运行PHP网站(WordPress)使用Nginx和MySQL/MariaDB。这就是为什么我试图得到的PMP-FTM有PDO驱动程序设置。
有什么想法/建议吗?

kiz8lqtg

kiz8lqtg1#

我不得不使用一个Dockerfile(我们将此文件称为Dockerfile-phpfm)。


# Setup GD extension

RUN apk add --no-cache \
      freetype \
      libjpeg-turbo \
      libpng \
      freetype-dev \
      libjpeg-turbo-dev \
      libpng-dev \
    && docker-php-ext-configure gd \
      --with-freetype=/usr/include/ \
      --with-jpeg=/usr/include/ \
    && docker-php-ext-install -j$(nproc) gd \
    && docker-php-ext-enable gd \
    && apk del --no-cache \
      freetype-dev \
      libjpeg-turbo-dev \
      libpng-dev \
    && rm -rf /tmp/*

RUN apk add libzip-dev

RUN docker-php-ext-install pdo pdo_mysql mysqli zip bcmath

然后在我的docker-compose.yaml中使用该文件

version: '3.9'

services:
    mysql:
        image: mariadb:latest
        environment:
            MYSQL_DATABASE: mariadb1
            MYSQL_USER: user1
            MYSQL_PASSWORD: pass1
            MYSQL_ROOT_PASSWORD: pass1
        volumes:
        - ./wp_db:/var/lib/mysql:delegated
    php-fpm:
        # image: php:7.4-fpm-alpine
        build:
            context: .
            dockerfile: Dockerfile-phpfpm
        volumes:
            - ./wpsite:/var/www/html:delegated

没有更多的错误,对我来说很好。感谢@tadman的聊天,帮助我思考更多,特别是“这是关于找到一个容器与正确的库或建立自己的”部分。

相关问题