Files
bot-telegram/DOCKER_COMMANDS.md
2025-09-14 22:09:39 +05:00

126 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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)