diff --git a/README.md b/README.md index 27648a8..fbc12eb 100644 --- a/README.md +++ b/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 +``` +Проверяем ответ сервера + +``` +mayekkuzu@microsrv:~/projects/nginx-docker$ wget -qO- 'http://192.168.111.100:8081/test.php' | + perl -l -0777 -ne 'print $1 if /\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` \ No newline at end of file