Dockerfile
4.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
FROM php:5.6-fpm
COPY ./sources.list.jessie /etc/apt/sources.list
# Extensions: ctype, dom, fileinfo, ftp, hash, iconv, json, pdo, pdo_sqlite, session,
# tokenizer, simplexml, xml, xmlreader, xmlwriter and phar are bundled and compiled into
# PHP by default. If missing, install them directly by `docker-php-ext-install extension_name`
# Notice:
# 1. Mcrypt was DEPRECATED in PHP 7.1.0, and REMOVED in PHP 7.2.0.
# 2. opcache requires PHP version >= 7.0.0.
# 3. soap requires libxml2-dev.
# 4. xml, xmlrpc, wddx require libxml2-dev and libxslt-dev.
# 5. Line `&& :\` is just for better reading and do nothing.
RUN apt-get update \
&& apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install gd \
&& :\
&& apt-get install -y libicu-dev \
&& docker-php-ext-install intl \
&& :\
&& apt-get install -y libxml2-dev \
&& apt-get install -y libxslt-dev \
&& docker-php-ext-install soap \
&& docker-php-ext-install xsl \
&& docker-php-ext-install xmlrpc \
&& docker-php-ext-install wddx \
&& :\
&& apt-get install -y libbz2-dev \
&& docker-php-ext-install bz2 \
&& :\
&& docker-php-ext-install zip \
&& docker-php-ext-install pcntl \
&& docker-php-ext-install pdo_mysql \
&& docker-php-ext-install mysqli \
&& docker-php-ext-install mbstring \
&& docker-php-ext-install exif \
&& docker-php-ext-install bcmath \
&& docker-php-ext-install calendar \
&& docker-php-ext-install sockets \
&& docker-php-ext-install gettext \
&& docker-php-ext-install shmop \
&& docker-php-ext-install sysvmsg \
&& docker-php-ext-install sysvsem \
&& docker-php-ext-install sysvshm \
&& docker-php-ext-install opcache
#&& docker-php-ext-install pdo_firebird \
#&& docker-php-ext-install pdo_dblib \
#&& docker-php-ext-install pdo_oci \
#&& docker-php-ext-install pdo_odbc \
#&& docker-php-ext-install pdo_pgsql \
#&& docker-php-ext-install pgsql \
#&& docker-php-ext-install oci8 \
#&& docker-php-ext-install odbc \
#&& docker-php-ext-install dba \
#&& docker-php-ext-install interbase \
#&& :\
#&& apt-get install -y libmcrypt-dev \
#&& docker-php-ext-install mcrypt \
#&& :\
#&& apt-get install -y curl \
#&& apt-get install -y libcurl3 \
#&& apt-get install -y libcurl4-openssl-dev \
#&& docker-php-ext-install curl \
#&& :\
#&& apt-get install -y libreadline-dev \
#&& docker-php-ext-install readline \
#&& :\
#&& apt-get install -y libsnmp-dev \
#&& apt-get install -y snmp \
#&& docker-php-ext-install snmp \
#&& :\
#&& apt-get install -y libpspell-dev \
#&& apt-get install -y aspell-en \
#&& docker-php-ext-install pspell \
#&& :\
#&& apt-get install -y librecode0 \
#&& apt-get install -y librecode-dev \
#&& docker-php-ext-install recode \
#&& :\
#&& apt-get install -y libtidy-dev \
#&& docker-php-ext-install tidy \
#&& :\
#&& apt-get install -y libgmp-dev \
#&& ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h \
#&& docker-php-ext-install gmp \
#&& :\
#&& apt-get install -y postgresql-client \
#&& apt-get install -y mysql-client \
#&& :\
#&& apt-get install -y libc-client-dev \
#&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
#&& docker-php-ext-install imap \
#&& :\
#&& apt-get install -y libldb-dev \
#&& apt-get install -y libldap2-dev \
#&& docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu \
#&& docker-php-ext-install ldap \
# Composer
#RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer \
# Install extension using pecl
# Notice: if pecl install get error
# `No releases available for package "pecl.php.net/xxx"`
# or
# `Package "xxx" does not have REST xml available`
# Please turn on proxy (The proxy IP may be docker host IP or others):
#RUN pear config-set http_proxy http://10.0.75.1:1080
#
#RUN pecl install redis-3.1.4 \
# && docker-php-ext-enable redis \
# && :\
# && pecl install xdebug-2.5.5 \
# && docker-php-ext-enable xdebug \
# && :\
# && apt-get install -y libmagickwand-dev \
# && pecl install imagick-3.4.3 \
# && docker-php-ext-enable imagick \
# && :\
# && apt-get install -y libmemcached-dev zlib1g-dev \
# && pecl install memcached-2.2.0 \
# && docker-php-ext-enable memcached
COPY ./redis-3.1.4.tgz /tmp/
RUN cd /tmp/ \
&& tar -xf redis-3.1.4.tgz \
&& rm redis-3.1.4.tgz \
&& ( cd redis-3.1.4 && phpize && ./configure && make && make install ) \
&& rm -r redis-3.1.4 \
&& docker-php-ext-enable redis