понедельник, 1 апреля 2024 г.

Docker. Первые контейнеры

Источник: php.dragomano.ru

Структура каталогов:

~/develop/web/project/

                 nginx/      - сервис web-сервера

               php-fpm/      - сервис php8.2

                 mysql/      - сервис mysql


I. Создание сервиса Nginx

i.1. Узнаем версию docker compose:

$ docker compose version

Docker Compose version v2.25.0


i.2. В каталоге сервиса nginx создаем docker-compose.yml-файл следующего содержания:

version: '2.25.0'

# Services

    services:

        # Nginx Service

        nginx:

            image: nginx:1.21

            ports:

                - 80:80


i.3. Переходим  каталог `~/develop/web/project/nginx`:

$ cd ~/develop/web/project/nginx


i.4. Запускаем наш контейнер на выполнение в фоновом (`-d`) режиме:

$ docker compose up -d


i.5. Просматриваем контейнеры запущенные в данный момент:

$ docker compose ps


i.6. Проверяем работу нашего сервиса:

$ wget http://localhost:80

В результате выполнения в каталоге */nginx появится файл index.html, его можно прочитать любым текстовым редактором nano, vim или др.

i.7. Для остановки контейнера выполняем:

$ docker compose stop


P.S. Разница между контейнером и сервисом следующая, сервис — один из компонентов приложения, перечисленных в docker-compose.yml. Каждый сервис ссылается на образ, который используется для запуска и остановки контейнеров на основе этого образа.


i.8. Доступ к оболочке командной строки выполняемого контейнера:

$ docker compose exec nginx bash


II. Создание сервиса Nginx + PHP-FPM

ii.1. Перейдите в каталог `project/php-fpm`:

$ cd ~/develop/web/project/php-fpm

... и создайте docker-compose.yml - файл, следующего содержания:


Комментариев нет:

Отправить комментарий

Docker. Первые контейнеры

Источник:  php.dragomano.ru Структура каталогов: ~/develop/web/project/                  nginx/      - сервис web-сервера                php...