2017-02-14 82 views
1

我创建了一个Dockerfile像下面泊坞窗映像安装PHP模块

FROM ubuntu:14.04 

RUN apt-get update -y && apt-get install -y software-properties-common language-pack-en-base 

RUN LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php 

RUN apt-get -y update && apt-get install -y \ 
    php7.0 \ 
    php7.0-pgsql \ 
    php-pear \ 
    php7.0-curl \ 
    php7.0-sqlite3 \ 
    php7.0-xml \ 
    php7.0-bcmath \ 
    php7.0-zip \ 
    php7.0-mbstring \ 
    php-xdebug \ 
    php-ast 

WORKDIR /var/www/html/code 

当我运行docker-compose build container_name

而且docker-compose run --rm container_name php -m

好像不是所有的PHP模块中的构建过程中安装容器。结果如下所示。

[PHP Modules] 
    ast 
    calendar 
    Core 
    ctype 
    date 
    exif 
    fileinfo 
    filter 
    ftp 
    gettext 
    hash 
    iconv 
    json 
    libxml 
    openssl 
    pcntl 
    pcre 
    PDO 
    Phar 
    posix 
    readline 
    Reflection 
    session 
    shmop 
    sockets 
    SPL 
    standard 
    sysvmsg 
    sysvsem 
    sysvshm 
    tokenizer 
    xdebug 
    Zend OPcache 
    zlib 

    [Zend Modules] 
    Xdebug 
    Zend OPcache 

我没有得到我exepected看到这样pdo_pgsqlxmlxmlreader

回答

0

代替......

docker-compose run --rm container_name php -m 

...类型:

docker-compose run --rm container_name php7.0 -m 

OR

在Dockerfile,就在...

WORKDIR /var/www/html/code 

... add:

RUN update-alternatives --set php /usr/bin/php7.0 
1

我会使用PHP官方图像from Dockerhub的PHP模块。它内置了用于安装和启用PHP扩展的实用程序脚本。您需要修订Dockerfile可能是这样的:

FROM php:7 
RUN docker-php-ext-install <YOUR-EXTENSIONS> 
WORKDIR /var/www/html/code 

在您的扩展是从这个名单可能值:

Possible values for ext-name: 
bcmath bz2 calendar ctype curl dba dom enchant exif fileinfo filter ftp   
gd gettext gmp hash iconv imap interbase intl json ldap mbstring mcrypt 
mysqli oci8 odbc opcache pcntl pdo pdo_dblib pdo_firebird pdo_mysql pdo_oci 
pdo_odbc pdo_pgsql pdo_sqlite pgsql phar posix pspell readline recode 
reflection session shmop simplexml snmp soap sockets spl standard 
sysvmsg sysvsem sysvshm tidy tokenizer wddx xml xmlreader xmlrpc 
xmlwriter xsl zip 

还有其他标签上Dockerhub图像上的其他版本 - 检查文档有

希望这有助于

迪伦