如何在php docker镜像中启用pdo_mysql
我有一个基本的Dockerfile
与以下内容:
FROM php:7.1-apache RUN apt-get update && docker-php-ext-install pdo_mysql COPY . /var/www EXPOSE 80
我有一个docker-compose.yml文件
version: "3" services: app: build: . ports: - "80:80" volumes: - .:/var/www depends_on: - mysql mysql: image: mysql:8 ports: - "3306:3306" environment: MYSQL_DATABASE: "app" MYSQL_USER: "app" MYSQL_PASSWORD: "app" MYSQL_ROOT_PASSWORD: "test"
然后我运行docker build -t app . && docker-compose up
docker build -t app . && docker-compose up
项目的根源。 一切似乎build立正确,但是当输出phpinfo
我看不到mysql_pdo扩展名。
有没有我失踪的步骤?
我使用的docker文件是…
FROM php:7.1-apache COPY apache2.conf /etc/apache2 RUN docker-php-ext-install mysqli pdo pdo_mysql
注意在那里的mysqli和pdo以及允许PDO / mysql位。
docker php issue 62中有一个类似的错误 :
事实certificate,我需要删除旧的图像,并重新build立他们。
因为我下载了图像,然后编辑它。 所以我需要删除旧图像并重build它以便应用更改。
docker工人只能删除容器。 确保你以前也删除了你的图片。
还要检查一下这样的Dockerfile是否更健壮/完整:
# PHP extensions RUN \ docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd \ && docker-php-ext-configure mysqli --with-mysqli=mysqlnd \ && docker-php-ext-install pdo_mysql \ ...
我正在使用这个,并为我工作得很好。
RUN apt-get update \ && apt-get install -y git zlib1g-dev \ && docker-php-ext-install pdo pdo_mysql zip
如果它不适合你的。 请附上Docker构build输出以供审查。