-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
52 lines (41 loc) · 1.64 KB
/
Dockerfile
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
42
43
44
45
46
47
48
49
50
51
52
# задаю базовый образ
FROM php:7.4-fpm
# копирую в контейнер файлы composer.lock и composer.json в папку образа /var/www/
COPY composer.lock composer.json /var/www/
# устанавливаю рабочую директорию образа для следующих команд
WORKDIR /var/www
# устанавливаю зависимости
RUN apt-get update && apt-get install -y \
build-essential \
libzip-dev \
libpng-dev \
libjpeg62-turbo-dev \
libwebp-dev libjpeg62-turbo-dev libpng-dev libxpm-dev \
libfreetype6 \
libfreetype6-dev \
locales \
zip \
jpegoptim optipng pngquant gifsicle \
vim \
unzip \
git \
curl
# очищаю кэш apt-get
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
# устанавливаю расширения
RUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl
# устанавливаю Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# добавляю пользователя www для приложения
RUN groupadd -g 1000 www
RUN useradd -u 1000 -ms /bin/bash -g www www
# копирую файлы из локального контекста сборки в директорию образа /var/www
COPY . /var/www
# копирую права текущей папки на директорию /var/www в образе
COPY --chown=www:www . /var/www
# переключаюсь на пользователя www
USER www
# открываю 9000 порт
EXPOSE 9000
# запускаю сервер php-fpm
CMD ["php-fpm"]