forked from garymengcom/dnmp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
154 lines (129 loc) · 4.73 KB
/
Dockerfile
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
FROM php:fpm
## Copy sources.list to container.
## Here we use 163.com sources list.
## PHP 5.6.31+ should use jessie sources list
## PHP 7.2.0+ should use stretch sources list
## For more please check:
## PHP official docker repository: https://hub.docker.com/r/library/php/
#COPY ./files/sources.list.stretch /etc/apt/sources.list
COPY ./files/sources.list.jessie /etc/apt/sources.list
## Update Ubuntu
RUN apt-get update
## mcrypt
RUN apt-get install -y libmcrypt-dev
RUN docker-php-ext-install mcrypt
## GD
RUN apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng12-dev
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
RUN docker-php-ext-install gd
## Intl
RUN apt-get install -y libicu-dev
RUN docker-php-ext-install intl
## General
RUN docker-php-ext-install zip
RUN docker-php-ext-install pcntl
RUN docker-php-ext-install opcache
RUN docker-php-ext-install pdo_mysql
RUN docker-php-ext-install mysqli
RUN docker-php-ext-install mbstring
## SOAP Client
RUN apt-get install -y libxml2-dev
RUN docker-php-ext-install soap
## bz2
RUN apt-get install -y libbz2-dev
RUN docker-php-ext-install bz2
## Extensions:
## ctype, dom, fileinfo, ftp, hash, iconv, json, pdo, pdo_sqlite, session,
## tokenizer, simplexml, xml, xmlreader, xmlwriter, phar
## are bundled and compiled into PHP by default.
## You needn't install them mannually,
## Or else, install theme using `RUN docker-php-ext-install extension_name`.
## CURL, may had be installed default
#RUN apt-get install -y curl
#RUN apt-get install -y libcurl3
#RUN apt-get install -y libcurl4-openssl-dev
#RUN docker-php-ext-install curl
## More extensions
#RUN docker-php-ext-install exif
#RUN docker-php-ext-install bcmath
#RUN docker-php-ext-install calendar
#RUN docker-php-ext-install sockets
#RUN docker-php-ext-install gettext
#RUN docker-php-ext-install shmop
#RUN docker-php-ext-install sysvmsg
#RUN docker-php-ext-install sysvsem
#RUN docker-php-ext-install sysvshm
## More extensions handle database
#RUN docker-php-ext-install pdo_firebird
#RUN docker-php-ext-install pdo_dblib
#RUN docker-php-ext-install pdo_oci
#RUN docker-php-ext-install pdo_odbc
#RUN docker-php-ext-install pdo_pgsql
#RUN docker-php-ext-install pgsql
#RUN docker-php-ext-install oci8
#RUN docker-php-ext-install odbc
#RUN docker-php-ext-install dba
#RUN docker-php-ext-install interbase
## execute `RUN apt-get install -y libxml2-dev` before using following command
#RUN apt-get install -y libxslt-dev
#RUN docker-php-ext-install xsl
#RUN docker-php-ext-install xmlrpc
#RUN docker-php-ext-install wddx
## Readline
#RUN apt-get install -y libreadline-dev
#RUN docker-php-ext-install readline
## SNMP
#RUN apt-get install -y libsnmp-dev
#RUN apt-get install -y snmp
#RUN docker-php-ext-install snmp
## pspell
#RUN apt-get install -y libpspell-dev
#RUN apt-get install -y aspell-en
#RUN docker-php-ext-install pspell
## recode
#RUN apt-get install -y librecode0
#RUN apt-get install -y librecode-dev
#RUN docker-php-ext-install recode
## Tidy
#RUN apt-get install -y libtidy-dev
#RUN docker-php-ext-install tidy
## GMP
#RUN apt-get install -y libgmp-dev
## Fixing "configure: error: Unable to locate gmp.h"
#RUN ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h
#RUN docker-php-ext-install gmp
## Client
#RUN apt-get install -y postgresql-client
#RUN apt-get install -y mysql-client
## IMAP
#RUN apt-get install -y libc-client-dev
#RUN docker-php-ext-configure imap --with-kerberos --with-imap-ssl
#RUN docker-php-ext-install imap
## LDAP
#RUN apt-get install -y libldb-dev
#RUN apt-get install -y libldap2-dev
#RUN docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu
#RUN docker-php-ext-install ldap
## Composer
#RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer
## pecl files
## Note: if 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 export http_proxy=10.0.75.1:1080
#RUN export https_proxy=10.0.75.1:1080
#RUN pecl install redis-3.1.4 && docker-php-ext-enable redis
#RUN pecl install xdebug && docker-php-ext-enable xdebug
#RUN pecl install igbinary && docker-php-ext-enable igbinary
#RUN apt-get install -y libmagickwand-dev && pecl install imagick && docker-php-ext-enable imagick
#RUN apt-get install -y libmemcached-dev zlib1g-dev && pecl install memcached && docker-php-ext-enable memcached
## files installed from source
#COPY ./files/yaf-3.0.5.tgz /tmp/
#RUN cd /tmp/ \
# && tar -xf yaf-3.0.5.tgz \
# && rm yaf-3.0.5.tgz \
# && ( cd yaf-3.0.5 && phpize && ./configure && make && make install ) \
# && rm -r yaf-3.0.5
#RUN docker-php-ext-enable yaf