-
Notifications
You must be signed in to change notification settings - Fork 93
Expand file tree
/
Copy pathDockerfile
More file actions
41 lines (33 loc) · 1.28 KB
/
Dockerfile
File metadata and controls
41 lines (33 loc) · 1.28 KB
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
FROM hexletbasics/base-image
WORKDIR /exercises-php
ENV COMPOSER_NO_INTERACTION=1
ENV COMPOSER_ALLOW_SUPERUSER=1
ENV COMPOSER_HOME=/tmp
ENV COMPOSER_VERSION=2.8.6
ENV PATH=/exercises-php/bin:/exercises-php/vendor/bin/:$PATH
RUN apt-get update && \
apt-get install -yqq --no-install-recommends \
php \
php-cli \
php-common \
php-curl \
php-gd \
php-mbstring \
php-xdebug \
php-xml && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN php -r "readfile('https://getcomposer.org/installer');" > /composer-setup.php && \
php /composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
rm /composer-setup.php
RUN mkdir -p /usr/local/etc/php/conf.d/ && \
echo "include_path = \".:/exercises-php\"" > /usr/local/etc/php/conf.d/code-basics.ini && \
echo "zend_extension=xdebug.so" > /usr/local/etc/php/conf.d/xdebug.ini && \
echo "xdebug.mode=debug" >> /usr/local/etc/php/conf.d/xdebug.ini
COPY composer.json composer.lock ./
RUN composer install --prefer-dist --optimize-autoloader && \
composer clear-cache && \
rm -rf /tmp/* && \
# NOTE: Хак на случай, если --prefer-dist не срабатывает и качаются зависимости из исходников
find vendor -type d -name '.git' -exec rm -rf \{\} \+
COPY . .