# Docker команды для управления Telegram Bot API ## Основные команды ### Запуск и остановка ```bash # Запуск всех сервисов docker-compose up -d # Запуск с пересборкой docker-compose up --build -d # Запуск с админкой docker-compose --profile admin up -d # Остановка docker-compose down # Остановка с удалением данных docker-compose down -v ``` ### Логи и мониторинг ```bash # Просмотр логов всех сервисов docker-compose logs # Логи конкретного сервиса docker-compose logs -f app docker-compose logs -f postgres # Статус сервисов docker-compose ps ``` ### Управление сервисами ```bash # Перезапуск сервиса docker-compose restart app # Остановка конкретного сервиса docker-compose stop app # Масштабирование (если нужно) docker-compose up --scale app=2 -d ``` ### Работа с контейнерами ```bash # Выполнение команд в контейнере приложения docker-compose exec app bash docker-compose exec app python -c "from database.database import test_db_connection; print(test_db_connection())" # Подключение к PostgreSQL docker-compose exec postgres psql -U postgres -d telegram_bot # Просмотр таблиц docker-compose exec postgres psql -U postgres -d telegram_bot -c "\dt" ``` ### Отладка и разработка ```bash # Запуск в режиме разработки (с volume для кода) docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d # Просмотр переменных окружения в контейнере docker-compose exec app env # Проверка сетевого подключения docker-compose exec app ping postgres ``` ### Очистка и обслуживание ```bash # Удаление неиспользуемых образов docker image prune # Удаление всех остановленных контейнеров docker container prune # Полная очистка Docker системы docker system prune -a # Просмотр использования места docker system df ``` ## Готовые скрипты ### Скрипт для быстрого запуска (start.sh) ```bash #!/bin/bash echo "Запуск Telegram Bot API..." docker-compose up --build -d echo "API доступно по адресу: http://localhost:8000" echo "Документация: http://localhost:8000/docs" ``` ### Скрипт для остановки (stop.sh) ```bash #!/bin/bash echo "Остановка Telegram Bot API..." docker-compose down echo "Сервисы остановлены" ``` ### Скрипт для полного сброса (reset.sh) ```bash #!/bin/bash echo "ВНИМАНИЕ: Это удалит все данные из базы!" read -p "Продолжить? (y/N) " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then docker-compose down -v docker-compose up --build -d echo "Система сброшена и перезапущена" fi ``` ## Полезные ссылки после запуска - API: http://localhost:8000 - Swagger UI: http://localhost:8000/docs - ReDoc: http://localhost:8000/redoc - Health Check: http://localhost:8000/health - pgAdmin: http://localhost:5050 (если запущен с профилем admin)