Upd Readme.md
This commit is contained in:
parent
edbff4ab6a
commit
649e0dbe2e
78
README.md
78
README.md
@ -17,3 +17,81 @@ cd docker-image-nginx
|
|||||||
|
|
||||||
## Подготовка образа
|
## Подготовка образа
|
||||||
|
|
||||||
|
Для начала образ нужно собрать. Опционально можете добавить требуемые модули php7.4 в блоке установки пакетов в Dockerfile, например php7.4-zip:
|
||||||
|
|
||||||
|
```
|
||||||
|
...
|
||||||
|
# Устанавливаем пакеты, выключаем режим демона в конфигурационном файле и создаем папку /run/php для работы php-fpm
|
||||||
|
RUN apt update -y
|
||||||
|
RUN apt install -y nginx php7.4 php7.4-fpm php7.4-zip
|
||||||
|
...
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
Далее собираем образ, обозначаем имя образа, например *mkz/nginx-php7*
|
||||||
|
|
||||||
|
```
|
||||||
|
docker build -t mkz/nginx-php7:latest .
|
||||||
|
```
|
||||||
|
|
||||||
|
Проверяем что наш образ появился в списке
|
||||||
|
|
||||||
|
```
|
||||||
|
mayekkuzu@microsrv:~/projects/nginx-docker$ docker images
|
||||||
|
REPOSITORY TAG IMAGE ID CREATED SIZE
|
||||||
|
mkz/nginx-php7 latest 64e6150d7bbd 55 minutes ago 288MB
|
||||||
|
```
|
||||||
|
|
||||||
|
Можно запускать контейнер. Например, файлы храним в папке `/mnt/nginxsite`. Поскольку 80 порт уже занят, назначаем порт 8081. Чтобы проверить занятые порты, используйте команду `ss -tulpn`
|
||||||
|
|
||||||
|
```
|
||||||
|
docker run --name test_server -d -p 8081:80 -v /mnt/nginxsite:/var/www/html/ mkz/nginx-php7:latest
|
||||||
|
```
|
||||||
|
|
||||||
|
Проверяем запустился ли контейнер
|
||||||
|
|
||||||
|
```
|
||||||
|
mayekkuzu@microsrv:~/projects/nginx-docker$ docker ps
|
||||||
|
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||||
|
5e6b982dd7c4 mkz/nginx-php7:latest "/bin/sh -c 'php-fpm…" 12 seconds ago Up 11 seconds 0.0.0.0:8081->80/tcp, :::8081->80/tcp test_server
|
||||||
|
```
|
||||||
|
Создадим в папке /mnt/nginxsite фаил index.html и test.php для проверки работы PHP
|
||||||
|
```
|
||||||
|
echo 'Hello World!' > /mnt/nginxsite/index.html
|
||||||
|
```
|
||||||
|
```
|
||||||
|
tee -a /mnt/nginxsite/test.php <<EOF
|
||||||
|
|
||||||
|
<?php
|
||||||
|
phpinfo();
|
||||||
|
?>
|
||||||
|
EOF
|
||||||
|
```
|
||||||
|
Проверяем ответ сервера
|
||||||
|
|
||||||
|
```
|
||||||
|
mayekkuzu@microsrv:~/projects/nginx-docker$ wget -qO- 'http://192.168.111.100:8081/test.php' |
|
||||||
|
perl -l -0777 -ne 'print $1 if /<title.*?>\s*(.*?)\s*<\/title/si'
|
||||||
|
PHP 7.4.33 - phpinfo()
|
||||||
|
|
||||||
|
mayekkuzu@microsrv:~/projects/nginx-docker$ curl 192.168.111.100:8081
|
||||||
|
Hello World!
|
||||||
|
```
|
||||||
|
|
||||||
|
## Запуск контейнера на примере docker-compose
|
||||||
|
|
||||||
|
В файле docker-compose.yaml требуется указать собранный образ, порт и рабочую папку
|
||||||
|
|
||||||
|
```
|
||||||
|
version: '3.8'
|
||||||
|
services:
|
||||||
|
nginx-php7:
|
||||||
|
image: mkz/nginx-php7:latest
|
||||||
|
volumes:
|
||||||
|
- ./path-to-site/:/var/www/html
|
||||||
|
ports:
|
||||||
|
- "8081:80"
|
||||||
|
restart: unless-stopped
|
||||||
|
```
|
||||||
|
|
||||||
|
Запуск командой `docker-compose up -d`
|
Loading…
Reference in New Issue
Block a user