Skip to content

Commit 4166928

Browse files
committed
Refactor installation for better caching
1 parent ef93d70 commit 4166928

File tree

3 files changed

+41
-17
lines changed

3 files changed

+41
-17
lines changed

Dockerfile

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,22 @@
11
FROM php:7.1-apache-stretch
22

3-
ADD root/ /
4-
# Fix the original permissions of /tmp, the PHP default upload tmp dir.
5-
RUN chmod 777 /tmp && chmod +t /tmp
6-
7-
# Setup the required extensions.
83
ARG DEBIAN_FRONTEND=noninteractive
9-
RUN /tmp/setup/php-extensions.sh
10-
RUN /tmp/setup/oci8-extension.sh
4+
5+
# Install the standard PHP extensions.
6+
ADD root/tmp/setup/php-extensions.sh /tmp/setup/
7+
RUN chmod 777 /tmp && chmod +t /tmp && \
8+
/tmp/setup/php-extensions.sh
9+
10+
# Install the PHP MSSQL Extension.
11+
ADD root/tmp/setup/mssql-extension.sh /tmp/setup/
12+
RUN chmod 777 /tmp && chmod +t /tmp && \
13+
/tmp/setup/mssql-extension.sh
14+
15+
# Install the PHP OCI8 Extension.
1116
ENV LD_LIBRARY_PATH /usr/local/instantclient
17+
ADD root/tmp/setup/oci8-extension.sh /tmp/setup/
18+
RUN chmod 777 /tmp && chmod +t /tmp && \
19+
/tmp/setup/oci8-extension.sh
1220

1321
RUN mkdir /var/www/moodledata && chown www-data /var/www/moodledata && \
1422
mkdir /var/www/phpunitdata && chown www-data /var/www/phpunitdata && \

root/tmp/setup/mssql-extension.sh

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
5+
BUILD_PACKAGES="gnupg unixodbc-dev"
6+
7+
apt-get update
8+
apt-get install -y --no-install-recommends apt-transport-https \
9+
$BUILD_PACKAGES
10+
11+
# Install Microsoft dependcies for sqlsrv.
12+
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
13+
curl https://packages.microsoft.com/config/debian/9/prod.list -o /etc/apt/sources.list.d/mssql-release.list
14+
apt-get update
15+
ACCEPT_EULA=Y apt-get install -y msodbcsql17
16+
17+
pecl install sqlsrv
18+
docker-php-ext-enable sqlsrv
19+
20+
# Keep our image size down..
21+
pecl clear-cache
22+
apt-get remove --purge -y $BUILD_PACKAGES
23+
apt-get autoremove -y
24+
apt-get clean
25+
rm -rf /var/lib/apt/lists/*

root/tmp/setup/php-extensions.sh

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ echo "Installing apt dependencies"
77
# Build packages will be added during the build, but will be removed at the end.
88
BUILD_PACKAGES="gettext gnupg libcurl4-openssl-dev libfreetype6-dev libicu-dev libjpeg62-turbo-dev \
99
libldap2-dev libmariadbclient-dev libmemcached-dev libpng-dev libpq-dev libxml2-dev libxslt-dev \
10-
unixodbc-dev zlib1g-dev"
10+
zlib1g-dev"
1111

1212
# Packages for Postgres.
1313
PACKAGES_POSTGRES="libpq5"
@@ -64,15 +64,6 @@ docker-php-ext-enable solr memcached redis apcu igbinary
6464

6565
echo 'apc.enable_cli = On' >> /usr/local/etc/php/conf.d/docker-php-ext-apcu.ini
6666

67-
# Install Microsoft dependcies for sqlsrv.
68-
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
69-
curl https://packages.microsoft.com/config/debian/9/prod.list -o /etc/apt/sources.list.d/mssql-release.list
70-
apt-get update
71-
ACCEPT_EULA=Y apt-get install -y msodbcsql17
72-
73-
pecl install sqlsrv
74-
docker-php-ext-enable sqlsrv
75-
7667
# Keep our image size down..
7768
pecl clear-cache
7869
apt-get remove --purge -y $BUILD_PACKAGES

0 commit comments

Comments
 (0)