diff --git a/docs/docs/docker/run_container.md b/docs/docs/docker/run_container.md new file mode 100644 index 0000000..8090161 --- /dev/null +++ b/docs/docs/docker/run_container.md @@ -0,0 +1,120 @@ +# Запуск контейнеров + +Присутствует 2 варианта запуска контейнеров: + +1. Обычный, через команду `docker run` +2. С помощью файла docker-compose.yml + +Обычный запуск достаточно простой, но не удобен, как файловый вариант. Мы расмотрим 2 вариант, так как он более понятный и его чаще всего используют. + +## Пример файла docker-compose.yml + +```yaml +services: + hbbs: + container_name: hbbs + image: rustdesk/rustdesk-server:latest + command: hbbs + volumes: + - /docker/rustdesk/data:/root + network_mode: host + depends_on: + - hbbr + restart: unless-stopped + hbbr: + container_name: hbbr + image: rustdesk/rustdesk-server:latest + command: hbbr + volumes: + - /docker/rustdesk/data:/root + network_mode: host + restart: unless-stopped +``` + +Это рабочая настройка контейнера с RustDesk Server, скопированная с моего сервера. + +Пробежимся по параметрам, которые показаны выше. + +| Название | Описание | +| :---: | :------- | +| **services** | Основной параметр, в который вводяться параметры контейнеров. | +| **hbbs** и **hbbr** | Название контейнеров. | +| **container_name** | Назначение основного названия контейнера. | +| **image** | Путь до образа контейнера `{ХОСТ}/{ОБРАЗ}:{ВЕРСИЯ} | +| **command** | Комманда, которые будет воспроизводиться при старе контейнера. Обычно не указываеться. | +| **volumes** | Точки монтирования каталогов `{ХОСТ}:{КОНТЕЙЕР}`. | +| **network_mode** | Тип проброса сети. | +| **depends_on** | Включение после определенного контейнера. | +| **restart** | Тип перезапуска. | + +## Запуск контейнеров + +Запуск достаточно простой. Нужно ввести данную команду: + +```bash +docker compose up +``` + +Команда запустит и выведет логи, но не переведет в фоновый режим. Следующая команда запуит в демоне: + +```bash +docker compose up -d +``` + +Во время запуска, если образ не был загружен, Docker автоматически подгрузит по адресу, который был предоставлен в параметре **image**. + +!!!warning "Обратите внимание" + Активный каталог должен быть там, где находиться файл **docker-compose.yml**, когда используете команду, которая начинаеться с `docker compose`. + +## Проверка активных контейнеров + +Да бы посмотреть какие контейнеры запущены на хосте, используеться данная комманда: + +```bash +docker ps +``` + +!!!info "Пример вывода" + ``` + ... + c737f116506f rustdesk/rustdesk-server:latest "hbbs" 3 months ago Up 2 months hbbs + ecf717a21f84 rustdesk/rustdesk-server:latest "hbbr" 3 months ago Up 2 months hbbr + ... + ``` + +- **CONTAINER ID** - ID контейнера. + - **c737f116506f** +- **IMAGE** - Образ, использующий контейнером. + - **rustdesk/rustdesk-server:latest** +- **COMMAND** - Комманда, работающая в контейнере. + - **"hbbs"** +- **CREATED** - Когда контейнер создан. + - **3 months ago** +- **STATUS** - Время работы контейнера. + - **Up 2 months** +- **PORTS** - Проброшенные порты с контейнера. + - Отстутвует так как параметр `network_mode: host` передает весь трафик на хост. +- **NAME** - Имя контейнера. + - **hbbs** + +## Отключение контейнера + +Выключение происходит данной коммандой: + +```bsah +docker compose stop +``` + +## Удаление данных контейнера + +Это полезно во время очистки или диангостики/восстановления. + +```bash +docker compose rm +``` + +Docker может запросить подтверждение. + +## Ссылки + +- [Оф. документация Docker Compose](https://docs.docker.com/compose/) - На английском языке. diff --git a/mkdocs.yml b/mkdocs.yml index 1696bd4..2398f69 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -43,7 +43,8 @@ nav: - 'Docker': 'О проекте': docs/docker/about.md 'Установка': docs/docker/install.md - 'Команды': docs/docker/commands.md + #'Команды': docs/docker/commands.md + 'Запуск контейнеров': docs/docker/run_container.md - 'Steam Deck': - "Снятие Read Only с корневого раздела": docs/steam-deck/disable-read-only.md - Сервисы: services.md