Установка

Запуск и обновление

Запуск сервиса, проверка состояния, диагностика и процедура обновления

Первый запуск

Создайте внешнюю сеть Docker

docker network create net

Запустите все контейнеры

docker-compose up -d

Убедитесь, что все контейнеры запущены

docker ps -a

Все контейнеры должны иметь статус Up и (healthy).

При первом запуске контейнерам может потребоваться некоторое время для инициализации. Статус health: starting является нормальным в течение первых 30–60 секунд.

Проверка работоспособности

Статус контейнеров

docker-compose ps

Ожидаемый результат — все сервисы в статусе running (healthy):

СервисПортПроверка
konkurs-client3000nc -z localhost 3000
konkurs-api80nc -z localhost 80
konkurs-nginx81 → 80Доступ через браузер
konkurs-pgsql7432 → 5432pg_isready
konkurs-valkey6379valkey-cli ping
konkurs-meilisearch7700wget --spider http://127.0.0.1:7700/health

Просмотр логов

docker-compose logs -f

Обновление сервиса

Перед обновлением рекомендуется создать резервную копию базы данных и убедиться, что текущая версия работает стабильно.

Создайте резервную копию БД

docker-compose exec konkurs-pgsql pg_dump -U ${DB_USERNAME} ${DB_DATABASE} > backup_$(date +%Y%m%d_%H%M%S).sql

Загрузите новые образы

docker-compose pull

Пересоздайте контейнеры с новыми образами

docker-compose up -d

Docker Compose автоматически пересоздаст только те контейнеры, образы которых были обновлены.

Проверьте статус после обновления

docker-compose ps
docker-compose logs --tail=50

Полезные команды

КомандаОписание
docker-compose stopОстановить все контейнеры
docker-compose startЗапустить остановленные контейнеры
docker-compose restartПерезапустить все контейнеры
docker-compose downОстановить и удалить контейнеры (тома сохраняются)
docker-compose exec konkurs-api php artisan migrateВыполнить миграции БД
docker-compose exec konkurs-api php artisan cache:clearОчистить кэш приложения
Команда docker-compose down -v удалит все тома, включая данные БД. Используйте её только при полной переустановке.

Устранение неполадок