Skip to content

Commit d44ca55

Browse files
committed
Add docker compose
1 parent b62c332 commit d44ca55

File tree

10 files changed

+305
-0
lines changed

10 files changed

+305
-0
lines changed

.docker/php53/Dockerfile

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
FROM buildpack-deps:jessie
2+
3+
RUN gpg --keyserver pgp.key-server.io --recv-keys 0A95E9A026542D53835E3F3A7DEC4E69FC9C83D7
4+
RUN gpg --keyserver pgp.key-server.io --recv-keys 0B96609E270F565C13292B24C13C70B87267B52D
5+
6+
ENV PHP_VERSION 5.3.29
7+
8+
# php 5.3 needs older autoconf
9+
RUN set -x \
10+
&& apt-get update && apt-get install -y curl autoconf2.13 && rm -r /var/lib/apt/lists/* \
11+
&& curl -SLO http://launchpadlibrarian.net/140087283/libbison-dev_2.7.1.dfsg-1_amd64.deb \
12+
&& curl -SLO http://launchpadlibrarian.net/140087282/bison_2.7.1.dfsg-1_amd64.deb \
13+
&& dpkg -i libbison-dev_2.7.1.dfsg-1_amd64.deb \
14+
&& dpkg -i bison_2.7.1.dfsg-1_amd64.deb \
15+
&& rm *.deb \
16+
&& curl -SL "http://php.net/get/php-$PHP_VERSION.tar.bz2/from/this/mirror" -o php.tar.bz2 \
17+
&& curl -SL "http://php.net/get/php-$PHP_VERSION.tar.bz2.asc/from/this/mirror" -o php.tar.bz2.asc \
18+
&& gpg --verify php.tar.bz2.asc \
19+
&& mkdir -p /usr/src/php \
20+
&& tar -xf php.tar.bz2 -C /usr/src/php --strip-components=1 \
21+
&& rm php.tar.bz2* \
22+
&& cd /usr/src/php \
23+
&& ./buildconf --force \
24+
&& ./configure --disable-cgi \
25+
$(command -v apxs2 > /dev/null 2>&1 && echo '--with-apxs2' || true) \
26+
--with-pdo-mysql \
27+
--with-zlib \
28+
--enable-mbstring \
29+
&& make -j"$(nproc)" \
30+
&& make install \
31+
&& dpkg -r bison libbison-dev \
32+
&& apt-get purge -y --auto-remove autoconf2.13 \
33+
&& rm -r /usr/src/php
34+
35+
CMD ["php", "-a"]

.docker/php54/Dockerfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
FROM php:5.4-cli
2+
3+
RUN docker-php-ext-install pdo
4+
RUN docker-php-ext-install pdo_mysql
5+
RUN docker-php-ext-install mbstring

.docker/php55/Dockerfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
FROM php:5.5-cli
2+
3+
RUN docker-php-ext-install pdo
4+
RUN docker-php-ext-install pdo_mysql
5+
RUN docker-php-ext-install mbstring

.docker/php56/Dockerfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
FROM php:5.6-cli
2+
3+
RUN docker-php-ext-install pdo
4+
RUN docker-php-ext-install pdo_mysql
5+
RUN docker-php-ext-install mbstring

.docker/php70/Dockerfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
FROM php:7.0-cli
2+
3+
RUN docker-php-ext-install pdo
4+
RUN docker-php-ext-install pdo_mysql
5+
RUN docker-php-ext-install mbstring

.docker/php71/Dockerfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
FROM php:7.1-cli
2+
3+
RUN docker-php-ext-install pdo
4+
RUN docker-php-ext-install pdo_mysql
5+
RUN docker-php-ext-install mbstring

.docker/php72/Dockerfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
FROM php:7.2-cli
2+
3+
RUN docker-php-ext-install pdo
4+
RUN docker-php-ext-install pdo_mysql
5+
RUN docker-php-ext-install mbstring

.docker/php73/Dockerfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
FROM php:7.3-cli
2+
3+
RUN docker-php-ext-install pdo
4+
RUN docker-php-ext-install pdo_mysql
5+
RUN docker-php-ext-install mbstring

.docker/php74/Dockerfile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
FROM php:7.4-rc-cli
2+
3+
RUN docker-php-ext-install pdo
4+
RUN docker-php-ext-install pdo_mysql
5+
RUN set -eux; \
6+
apt-get update; \
7+
apt-get install -y --no-upgrade --no-install-recommends \
8+
libonig-dev \
9+
; \
10+
\
11+
apt-get clean; \
12+
rm -rf /var/lib/apt/lists/*; \
13+
\
14+
docker-php-ext-install mbstring

docker-compose.yml

Lines changed: 221 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,221 @@
1+
version: '3.5'
2+
3+
services:
4+
composer:
5+
image: composer
6+
working_dir: /app
7+
volumes:
8+
- .:/app
9+
entrypoint:
10+
- sh
11+
- -c
12+
- |
13+
exec tail -f /dev/null
14+
15+
php53:
16+
build: .docker/php53
17+
working_dir: /app/tests
18+
volumes:
19+
- .:/app
20+
- db_socket:/var/run/mysqld
21+
entrypoint:
22+
- sh
23+
- -c
24+
- |
25+
{
26+
echo 'pdo_mysql.default_socket = /var/run/mysqld/mysql.sock'
27+
echo 'memory_limit = -1'
28+
echo 'short_open_tag = off'
29+
echo 'magic_quotes_gpc = off'
30+
} | tee -a /usr/local/lib/php.ini
31+
32+
exec tail -f /dev/null
33+
depends_on:
34+
- db
35+
36+
php54:
37+
build: .docker/php54
38+
working_dir: /app/tests
39+
volumes:
40+
- .:/app
41+
- db_socket:/var/run/mysqld
42+
entrypoint:
43+
- sh
44+
- -c
45+
- |
46+
{
47+
echo 'pdo_mysql.default_socket = /var/run/mysqld/mysql.sock'
48+
echo 'memory_limit = -1'
49+
echo 'short_open_tag = off'
50+
echo 'magic_quotes_gpc = off'
51+
} | tee -a /usr/local/etc/php/php.ini
52+
53+
exec tail -f /dev/null
54+
depends_on:
55+
- db
56+
57+
php55:
58+
build: .docker/php55
59+
working_dir: /app/tests
60+
volumes:
61+
- .:/app
62+
- db_socket:/var/run/mysqld
63+
entrypoint:
64+
- sh
65+
- -c
66+
- |
67+
{
68+
echo 'pdo_mysql.default_socket = /var/run/mysqld/mysql.sock'
69+
echo 'memory_limit = -1'
70+
echo 'short_open_tag = off'
71+
echo 'magic_quotes_gpc = off'
72+
} | tee -a /usr/local/etc/php/php.ini
73+
74+
exec tail -f /dev/null
75+
depends_on:
76+
- db
77+
78+
php56:
79+
build: .docker/php56
80+
working_dir: /app/tests
81+
volumes:
82+
- .:/app
83+
- db_socket:/var/run/mysqld
84+
entrypoint:
85+
- sh
86+
- -c
87+
- |
88+
{
89+
echo 'pdo_mysql.default_socket = /var/run/mysqld/mysql.sock'
90+
echo 'memory_limit = -1'
91+
echo 'short_open_tag = off'
92+
echo 'magic_quotes_gpc = off'
93+
} | tee -a /usr/local/etc/php/php.ini
94+
95+
exec tail -f /dev/null
96+
depends_on:
97+
- db
98+
99+
php70:
100+
build: .docker/php70
101+
working_dir: /app/tests
102+
volumes:
103+
- .:/app
104+
- db_socket:/var/run/mysqld
105+
entrypoint:
106+
- sh
107+
- -c
108+
- |
109+
{
110+
echo 'pdo_mysql.default_socket = /var/run/mysqld/mysql.sock'
111+
echo 'memory_limit = -1'
112+
echo 'short_open_tag = off'
113+
echo 'magic_quotes_gpc = off'
114+
} | tee -a /usr/local/etc/php/php.ini
115+
116+
exec tail -f /dev/null
117+
depends_on:
118+
- db
119+
120+
php71:
121+
build: .docker/php71
122+
working_dir: /app/tests
123+
volumes:
124+
- .:/app
125+
- db_socket:/var/run/mysqld
126+
entrypoint:
127+
- sh
128+
- -c
129+
- |
130+
{
131+
echo 'pdo_mysql.default_socket = /var/run/mysqld/mysql.sock'
132+
echo 'memory_limit = -1'
133+
echo 'short_open_tag = off'
134+
echo 'magic_quotes_gpc = off'
135+
} | tee -a /usr/local/etc/php/php.ini
136+
137+
exec tail -f /dev/null
138+
depends_on:
139+
- db
140+
141+
php72:
142+
build: .docker/php72
143+
working_dir: /app/tests
144+
volumes:
145+
- .:/app
146+
- db_socket:/var/run/mysqld
147+
entrypoint:
148+
- sh
149+
- -c
150+
- |
151+
{
152+
echo 'pdo_mysql.default_socket = /var/run/mysqld/mysql.sock'
153+
echo 'memory_limit = -1'
154+
echo 'short_open_tag = off'
155+
echo 'magic_quotes_gpc = off'
156+
} | tee -a /usr/local/etc/php/php.ini
157+
158+
exec tail -f /dev/null
159+
depends_on:
160+
- db
161+
162+
php73:
163+
build: .docker/php73
164+
working_dir: /app/tests
165+
volumes:
166+
- .:/app
167+
- db_socket:/var/run/mysqld
168+
entrypoint:
169+
- sh
170+
- -c
171+
- |
172+
{
173+
echo 'pdo_mysql.default_socket = /var/run/mysqld/mysql.sock'
174+
echo 'memory_limit = -1'
175+
echo 'short_open_tag = off'
176+
echo 'magic_quotes_gpc = off'
177+
} | tee -a /usr/local/etc/php/php.ini
178+
179+
exec tail -f /dev/null
180+
depends_on:
181+
- db
182+
183+
php74:
184+
build: .docker/php74
185+
working_dir: /app/tests
186+
volumes:
187+
- .:/app
188+
- db_socket:/var/run/mysqld
189+
entrypoint:
190+
- sh
191+
- -c
192+
- |
193+
{
194+
echo 'pdo_mysql.default_socket = /var/run/mysqld/mysql.sock'
195+
echo 'memory_limit = -1'
196+
echo 'short_open_tag = off'
197+
echo 'magic_quotes_gpc = off'
198+
} | tee -a /usr/local/etc/php/php.ini
199+
200+
exec tail -f /dev/null
201+
depends_on:
202+
- db
203+
204+
db:
205+
image: mysql:5.5
206+
environment:
207+
- MYSQL_ALLOW_EMPTY_PASSWORD=yes
208+
volumes:
209+
- db_socket:/tmp
210+
entrypoint:
211+
- bash
212+
- -c
213+
- |
214+
{
215+
echo "CREATE DATABASE IF NOT EXISTS test;"
216+
} | tee /docker-entrypoint-initdb.d/init.sql
217+
218+
exec /usr/local/bin/docker-entrypoint.sh mysqld
219+
220+
volumes:
221+
db_socket:

0 commit comments

Comments
 (0)