2017-02-14 100 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圖像上的其他版本 - 檢查文檔有

希望這有助於

迪倫