-
Notifications
You must be signed in to change notification settings - Fork 123
/
dockerfile-tt
39 lines (31 loc) · 1.52 KB
/
dockerfile-tt
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
# This file is for development work. Not suitable for production.
FROM php:7.2-apache
# Use the default production configuration.
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
# Override with custom settings.
# COPY config/php_tt.ini $PHP_INI_DIR/conf.d/
# Install mysqli extension.
RUN docker-php-ext-install mysqli
# Install gd extension.
RUN apt-get update && apt-get install libpng-dev libfreetype6-dev -y \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ \
&& docker-php-ext-install gd
# Install ldap extension.
RUN apt-get install libldap2-dev -y \
&& docker-php-ext-install ldap
# TODO: check if ldap works, as the above is missing this step:
# && docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ && \
# Cleanup. The intention was to keep image size down.
# RUN rm -rf /var/lib/apt/lists/*
#
# The above does not work. Files are removed, but
# image files (zipped or not) are not getting smaller. Why?
# Copy application source code to /var/www/html/.
COPY . /var/www/html/
# Create configuration file.
RUN cp /var/www/html/WEB-INF/config.php.dist /var/www/html/WEB-INF/config.php
# Replace DSN value to something connectable to a Docker container running mariadb.
RUN sed -i "s|mysqli://root:no@localhost/dbname|mysqli://anuko_user:anuko_pw@anuko_db/timetracker|g" /var/www/html/WEB-INF/config.php
# Note that db is defined as anuko_db/timetracker where anuko_db is service name and timetracker is db name.
# See docker-compose.yml for details.
RUN chown -R www-data /var/www/html/