Skip to content

Commit dae6092

Browse files
committed
use .env file
1 parent 2ab958c commit dae6092

9 files changed

+189
-120
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
.idea
22
.DS_Store
3+
.env
34
www/*
45
!www/localhost/

Dockerfile

+57-56
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
ARG PHP_VERSION
22
FROM php:${PHP_VERSION}-fpm
33

4-
ARG XDEBUG_VERSION
5-
ARG SWOOLE_VERSION
6-
ARG REDIS_VERSION=4.1.1
4+
ARG PHP_XDEBUG
5+
ARG PHP_SWOOLE
6+
ARG PHP_REDIS
7+
ARG REPLACE_SOURCE_LIST
78

89
COPY ./sources.list /etc/apt/sources.list.tmp
9-
RUN cc=$(curl 'https://ifconfig.co/country'); if [ "$cc" = "China" ]; then \
10+
RUN if [ "${REPLACE_SOURCE_LIST}" = "true" ]; then \
1011
mv /etc/apt/sources.list.tmp /etc/apt/sources.list; else \
1112
rm -rf /etc/apt/sources.list.tmp; fi
12-
RUN apt-get update
13+
RUN apt update
1314

1415
# Install extensions from source
1516
COPY ./extensions /tmp/extensions
@@ -21,37 +22,37 @@ RUN chmod +x /tmp/extensions/install.sh \
2122
# 1. soap requires libxml2-dev.
2223
# 2. xml, xmlrpc, wddx require libxml2-dev and libxslt-dev.
2324
# 3. Line `&& :\` do nothing just for better reading.
24-
RUN apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev \
25-
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
26-
&& docker-php-ext-install $mc gd \
27-
&& :\
28-
&& apt-get install -y libicu-dev \
29-
&& docker-php-ext-install $mc intl \
30-
&& :\
31-
&& apt-get install -y libxml2-dev \
32-
&& apt-get install -y libxslt-dev \
33-
&& docker-php-ext-install $mc soap \
34-
&& docker-php-ext-install $mc xsl \
35-
&& docker-php-ext-install $mc xmlrpc \
36-
&& docker-php-ext-install $mc wddx \
37-
&& :\
38-
&& apt-get install -y libbz2-dev \
39-
&& docker-php-ext-install $mc bz2 \
40-
&& :\
41-
&& docker-php-ext-install $mc zip \
42-
&& docker-php-ext-install $mc pcntl \
43-
&& docker-php-ext-install $mc pdo_mysql \
44-
&& docker-php-ext-install $mc mysqli \
45-
&& docker-php-ext-install $mc mbstring \
46-
&& docker-php-ext-install $mc exif \
47-
&& docker-php-ext-install $mc bcmath \
48-
&& docker-php-ext-install $mc calendar \
49-
&& docker-php-ext-install $mc sockets \
50-
&& docker-php-ext-install $mc gettext \
51-
&& docker-php-ext-install $mc shmop \
52-
&& docker-php-ext-install $mc sysvmsg \
53-
&& docker-php-ext-install $mc sysvsem \
54-
&& docker-php-ext-install $mc sysvshm
25+
#RUN apt install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev \
26+
# && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
27+
# && docker-php-ext-install $mc gd \
28+
# && :\
29+
# && apt install -y libicu-dev \
30+
# && docker-php-ext-install $mc intl \
31+
# && :\
32+
# && apt install -y libxml2-dev \
33+
# && apt install -y libxslt-dev \
34+
# && docker-php-ext-install $mc soap \
35+
# && docker-php-ext-install $mc xsl \
36+
# && docker-php-ext-install $mc xmlrpc \
37+
# && docker-php-ext-install $mc wddx \
38+
# && :\
39+
# && apt install -y libbz2-dev \
40+
# && docker-php-ext-install $mc bz2 \
41+
# && :\
42+
# && docker-php-ext-install $mc zip \
43+
# && docker-php-ext-install $mc pcntl \
44+
# && docker-php-ext-install $mc pdo_mysql \
45+
# && docker-php-ext-install $mc mysqli \
46+
# && docker-php-ext-install $mc mbstring \
47+
# && docker-php-ext-install $mc exif \
48+
# && docker-php-ext-install $mc bcmath \
49+
# && docker-php-ext-install $mc calendar \
50+
# && docker-php-ext-install $mc sockets \
51+
# && docker-php-ext-install $mc gettext \
52+
# && docker-php-ext-install $mc shmop \
53+
# && docker-php-ext-install $mc sysvmsg \
54+
# && docker-php-ext-install $mc sysvsem \
55+
# && docker-php-ext-install $mc sysvshm
5556
#&& docker-php-ext-install $mc pdo_firebird \
5657
#&& docker-php-ext-install $mc pdo_dblib \
5758
#&& docker-php-ext-install $mc pdo_oci \
@@ -63,53 +64,53 @@ RUN apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev \
6364
#&& docker-php-ext-install $mc dba \
6465
#&& docker-php-ext-install $mc interbase \
6566
#&& :\
66-
#&& apt-get install -y unixodbc-dev \
67+
#&& apt install -y unixodbc-dev \
6768
#&& pecl install sqlsrv pdo_sqlsrv \
6869
#&& docker-php-ext-enable sqlsrv pdo_sqlsrv
6970
#&& :\
70-
#&& apt-get install -y curl \
71-
#&& apt-get install -y libcurl3 \
72-
#&& apt-get install -y libcurl4-openssl-dev \
71+
#&& apt install -y curl \
72+
#&& apt install -y libcurl3 \
73+
#&& apt install -y libcurl4-openssl-dev \
7374
#&& docker-php-ext-install $mc curl \
7475
#&& :\
75-
#&& apt-get install -y libreadline-dev \
76+
#&& apt install -y libreadline-dev \
7677
#&& docker-php-ext-install $mc readline \
7778
#&& :\
78-
#&& apt-get install -y libsnmp-dev \
79-
#&& apt-get install -y snmp \
79+
#&& apt install -y libsnmp-dev \
80+
#&& apt install -y snmp \
8081
#&& docker-php-ext-install $mc snmp \
8182
#&& :\
82-
#&& apt-get install -y libpspell-dev \
83-
#&& apt-get install -y aspell-en \
83+
#&& apt install -y libpspell-dev \
84+
#&& apt install -y aspell-en \
8485
#&& docker-php-ext-install $mc pspell \
8586
#&& :\
86-
#&& apt-get install -y librecode0 \
87-
#&& apt-get install -y librecode-dev \
87+
#&& apt install -y librecode0 \
88+
#&& apt install -y librecode-dev \
8889
#&& docker-php-ext-install $mc recode \
8990
#&& :\
90-
#&& apt-get install -y libtidy-dev \
91+
#&& apt install -y libtidy-dev \
9192
#&& docker-php-ext-install $mc tidy \
9293
#&& :\
93-
#&& apt-get install -y libgmp-dev \
94+
#&& apt install -y libgmp-dev \
9495
#&& ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h \
9596
#&& docker-php-ext-install $mc gmp \
9697
#&& :\
97-
#&& apt-get install -y postgresql-client \
98-
#&& apt-get install -y mysql-client \
98+
#&& apt install -y postgresql-client \
99+
#&& apt install -y mysql-client \
99100
#&& :\
100-
#&& apt-get install -y libc-client-dev \
101+
#&& apt install -y libc-client-dev \
101102
#&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
102103
#&& docker-php-ext-install $mc imap \
103104
#&& :\
104-
#&& apt-get install -y libldb-dev \
105-
#&& apt-get install -y libldap2-dev \
105+
#&& apt install -y libldb-dev \
106+
#&& apt install -y libldap2-dev \
106107
#&& docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu \
107108
#&& docker-php-ext-install $mc ldap \
108109
#&& :\
109-
#&& apt-get install -y libmagickwand-dev \
110+
#&& apt install -y libmagickwand-dev \
110111
#&& pecl install imagick-3.4.3 \
111112
#&& docker-php-ext-enable imagick \
112113
#&& :\
113-
#&& apt-get install -y libmemcached-dev zlib1g-dev \
114+
#&& apt install -y libmemcached-dev zlib1g-dev \
114115
#&& pecl install memcached-2.2.0 \
115116
#&& docker-php-ext-enable memcached

conf/conf.d/localhost.conf

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ server {
66
#charset koi8-r;
77

88
access_log /dev/null;
9-
#access_log /var/log/dnmp/nginx.localhost.access.log main;
10-
error_log /var/log/dnmp/nginx.localhost.error.log warn;
9+
#access_log /var/log/nginx/nginx.localhost.access.log main;
10+
error_log /var/log/nginx/nginx.localhost.error.log warn;
1111

1212
#error_page 404 /404.html;
1313

conf/conf.d/localhost_https.conf

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ server {
66
#charset koi8-r;
77

88
access_log /dev/null;
9-
#access_log /var/log/dnmp/nginx.localhost.https.access.log main;
10-
error_log /var/log/dnmp/nginx.localhost.https.error.log warn;
9+
#access_log /var/log/nginx/nginx.localhost.https.access.log main;
10+
error_log /var/log/nginx/nginx.localhost.https.error.log warn;
1111

1212
#error_page 404 /404.html;
1313

conf/nginx.conf

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ user nginx;
33
worker_processes 1;
44

55
pid /var/run/nginx.pid;
6-
error_log /var/log/dnmp/nginx.error.log warn;
6+
error_log /var/log/nginx/nginx.error.log warn;
77

88
events {
99
worker_connections 1024;

conf/php-fpm.conf

+2-2
Original file line numberDiff line numberDiff line change
@@ -320,13 +320,13 @@ pm.max_spare_servers = 3
320320
; The log file for slow requests
321321
; Default Value: not set
322322
; Note: slowlog is mandatory if request_slowlog_timeout is set
323-
slowlog = /var/log/dnmp/php.slow.log
323+
;slowlog = log/$pool.log.slow
324324

325325
; The timeout for serving a single request after which a PHP backtrace will be
326326
; dumped to the 'slowlog' file. A value of '0s' means 'off'.
327327
; Available units: s(econds)(default), m(inutes), h(ours), or d(ays)
328328
; Default Value: 0
329-
request_slowlog_timeout = 3
329+
;request_slowlog_timeout = 3
330330

331331
; Depth of slow log stack trace.
332332
; Default Value: 20

docker-compose.yml

+40-39
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
version: "3"
22
services:
33
nginx:
4-
image: nginx:alpine
4+
image: nginx:${NGINX_VERSION}
55
ports:
6-
- "80:80"
7-
- "443:443"
6+
- "${NGINX_HTTP_PORT}:80"
7+
- "${NGINX_HTTPS_PORT}:443"
88
volumes:
9-
- ./www/:/var/www/html/:rw
10-
- ./conf/conf.d:/etc/nginx/conf.d/:rw
11-
- ./conf/nginx.conf:/etc/nginx/nginx.conf:ro
12-
- ./log/:/var/log/dnmp/:rw
9+
- ${SOURCE_DIR}:/var/www/html/:rw
10+
- ${NGINX_CONFD_DIR}:/etc/nginx/conf.d/:rw
11+
- ${NGINX_CONF_FILE}:/etc/nginx/nginx.conf:ro
12+
- ${NGINX_LOG_DIR}:/var/log/nginx/:rw
1313
restart: always
1414
networks:
1515
- default
@@ -18,15 +18,15 @@ services:
1818
build:
1919
context: .
2020
args:
21-
PHP_VERSION: 7.2
22-
XDEBUG_VERSION: 2.6.1
23-
SWOOLE_VERSION: 4.2.1
24-
REDIS_VERSION: 4.1.1
21+
PHP_VERSION: ${PHP72_VERSION}
22+
PHP_XDEBUG: ${PHP72_XDEBUG}
23+
PHP_SWOOLE: ${PHP72_SWOOLE}
24+
PHP_REDIS: ${PHP72_REDIS}
25+
REPLACE_SOURCE_LIST: ${REPLACE_SOURCE_LIST}
2526
volumes:
26-
- ./www/:/var/www/html/:rw
27-
- ./conf/php.ini:/usr/local/etc/php/php.ini:ro
28-
- ./conf/php-fpm.conf:/usr/local/etc/php-fpm.d/www.conf:rw
29-
- ./log/:/var/log/dnmp/:rw
27+
- ${SOURCE_DIR}:/var/www/html/:rw
28+
- ${PHP72_PHP_CONF_FILE}:/usr/local/etc/php/php.ini:ro
29+
- ${PHP72_FPM_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf:rw
3030
restart: always
3131
cap_add:
3232
- SYS_PTRACE
@@ -37,15 +37,15 @@ services:
3737
build:
3838
context: .
3939
args:
40-
PHP_VERSION: 5.6
41-
XDEBUG_VERSION: 2.5.5
42-
SWOOLE_VERSION: 2.0.11
43-
REDIS_VERSION: 4.1.1
40+
PHP_VERSION: ${PHP56_VERSION}
41+
PHP_XDEBUG: ${PHP56_XDEBUG}
42+
PHP_SWOOLE: ${PHP56_SWOOLE}
43+
PHP_REDIS: ${PHP56_REDIS}
44+
REPLACE_SOURCE_LIST: ${REPLACE_SOURCE_LIST}
4445
volumes:
45-
- ./www/:/var/www/html/:rw
46-
- ./conf/php.ini:/usr/local/etc/php/php.ini:ro
47-
- ./conf/php-fpm.conf:/usr/local/etc/php-fpm.d/www.conf:rw
48-
- ./log/:/var/log/dnmp/:rw
46+
- ${SOURCE_DIR}:/var/www/html/:rw
47+
- ${PHP56_PHP_CONF_FILE}:/usr/local/etc/php/php.ini:ro
48+
- ${PHP56_FPM_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf:rw
4949
restart: always
5050
cap_add:
5151
- SYS_PTRACE
@@ -56,45 +56,46 @@ services:
5656
build:
5757
context: .
5858
args:
59-
PHP_VERSION: 5.4
60-
XDEBUG_VERSION: 2.4.1
61-
SWOOLE_VERSION: "false"
59+
PHP_VERSION: ${PHP54_VERSION}
60+
PHP_XDEBUG: ${PHP54_XDEBUG}
61+
PHP_SWOOLE: ${PHP54_SWOOLE}
62+
PHP_REDIS: ${PHP54_REDIS}
63+
REPLACE_SOURCE_LIST: ${REPLACE_SOURCE_LIST}
6264
volumes:
63-
- ./www/:/var/www/html/:rw
64-
- ./conf/php.ini:/usr/local/etc/php/php.ini:ro
65-
- ./conf/php-fpm.conf:/usr/local/etc/php-fpm.d/www.conf:rw
66-
- ./log/:/var/log/dnmp/:rw
65+
- ${SOURCE_DIR}:/var/www/html/:rw
66+
- ${PHP54_PHP_CONF_FILE}:/usr/local/etc/php/php.ini:ro
67+
- ${PHP54_FPM_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf:rw
6768
restart: always
6869
cap_add:
6970
- SYS_PTRACE
7071
networks:
7172
- default
7273

7374
mysql:
74-
image: mysql:8.0
75+
image: mysql:${MYSQL_VERSION}
7576
ports:
76-
- "3306:3306"
77+
- "${MYSQL_PORT}:3306"
7778
volumes:
78-
- ./conf/mysql.cnf:/etc/mysql/conf.d/mysql.cnf:ro
79-
- ./mysql/:/var/lib/mysql/:rw
79+
- ${MYSQL_CONF_FILE}:/etc/mysql/conf.d/mysql.cnf:ro
80+
- ${MYSQL_DATA_DIR}:/var/lib/mysql/:rw
8081
restart: always
8182
networks:
8283
- default
8384
environment:
84-
MYSQL_ROOT_PASSWORD: "123456"
85+
MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"
8586

8687
redis:
87-
image: redis:4.0
88+
image: redis:${REDIS_VERSION}
8889
restart: always
8990
networks:
9091
- default
9192
ports:
92-
- "6379:6379"
93+
- "${REDIS_PORT}:6379"
9394

9495
phpmyadmin:
9596
image: phpmyadmin/phpmyadmin:latest
9697
ports:
97-
- "8080:80"
98+
- "${PHPMYADMIN_PORT}:80"
9899
networks:
99100
- default
100101
environment:
@@ -104,7 +105,7 @@ services:
104105
phpredisadmin:
105106
image: erikdubbelboer/phpredisadmin:latest
106107
ports:
107-
- "8081:80"
108+
- "${REDISMYADMIN_PORT}:80"
108109
networks:
109110
- default
110111
environment:

0 commit comments

Comments
 (0)