Чтобы не было “у меня работает, у тебя нет”, Docker нужно приводить в порядок ПЕРЕД стартом.
Чеклист:
1) Проверь версии Docker/Compose
2) Очисти мусор (контейнеры/образы/кэш)
3) Заведи .env для портов и секретов
4) Собирай и запускай через docker compose
5) Если что-то странное - делай чистый rebuild без кэша
1) Проверка версий
docker --version
docker compose version
2) Быстрая очистка мусора (если давно не чистил)
docker system prune -f
3) Создай отдельную сеть под проект
docker network create app-net 2>/dev/null || true
4) Создай .env (пример)
cat > .env << 'EOF'
APP_PORT=8080
DB_HOST=postgres
DB_PORT=5432
DB_NAME=app
DB_USER=app
DB_PASS=app123
EOF
5) Старт проекта (compose подхватит .env)
docker compose up -d --build
6) Если словил странный баг - сделай "чистый билд"
docker compose down -v
docker compose build --no-cache
docker compose up -d
7) Логи и статус (must-have команды)
docker compose ps
docker compose logs -f --tail=200