Docker php设置安装pdo扩展

时间:2016-07-22 12:04:35

标签: php nginx pdo docker

我正在使用docker构建我的开发环境,这是一个非常简单的环境,我所拥有的只有nginx和php-fpm。

因此,在docker docks之后,我创建了一个docker-compose.yml:

web:
image: nginx:latest
ports:
    - "80:80"
volumes:
    - ./code:/code
    - ./site.conf:/etc/nginx/conf.d/site.conf
links:
    - php

PHP:     image:php:7-fpm     卷:          - ./code:/code

所以这里发生了什么我称之为nginx图像和pgp-fpm图像并链接它们。

我还创建了一个site.conf文件:

server {
    index index.php;
    server_name php-docker.local;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /code;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
   }
}

所以这里是所有服务器的东西。

通过此设置我已经成功运行phpinfo()。当我不知道我的应用程序代码我得到一个错误抱怨pdo pdo_mysql扩展。所以我做了更多的研究,发现我需要一个Dockerfile。

我创建了一个docker文件,并在其中添加了以下命令:

FROM php:7
RUN docker-php-ext-install pdo pdo_mysql

当然这不起作用,我的意思是这在哪里安装扩展,我的php-fpm如何看待这些扩展...?

1 个答案:

答案 0 :(得分:0)

这个Dockerfile帮助我:

FROM php:fpm
RUN apt-get update \
  && apt-get install -y --no-install-recommends libpq-dev \
  && docker-php-ext-install mysqli pdo_pgsql pdo_mysql

这是我的docker-composer.yml

的一部分
phpfpm:
  build: 
      context: ./php-fpm
      dockerfile: Dockerfile
  container_name: test-php-fpm
  links:
      - mysql
  volumes:
      - ./html:/usr/share/nginx/html