# Решение проблемы с Docker-контейнерами ## Проблема При запуске контейнеров через Docker Compose возникает ошибка `KeyError: 'ContainerConfig'`. Эта ошибка появляется из-за несовместимости между версиями Docker, Docker Compose и структурой docker-compose.yml. ## Решение ### 1. Очистка окружения Docker На сервере выполните следующие команды, чтобы полностью очистить окружение Docker: ```bash # Остановка и удаление контейнеров docker-compose down -v # Принудительное удаление контейнеров по имени docker rm -f postgres-tinder adminer-tinder telegram-tinder-bot # Очистка неиспользуемых томов и сетей docker system prune -f --volumes # Очистка кеша Docker docker builder prune -f ``` ### 2. Исправление проблем с переносами строк Файлы, созданные в Windows и перенесенные в Linux, могут содержать неправильные символы переноса строки. ```bash # Исправление переносов строк в shell-скриптах find . -name "*.sh" -type f -exec sh -c 'tr -d "\r" < "$1" > "$1.fixed" && mv "$1.fixed" "$1" && chmod +x "$1"' -- {} \; ``` ### 3. Обновление docker-compose.yml Создайте новый docker-compose.yml с исправленной структурой: ```bash # Запустите скрипт для исправления проблем с Docker ./bin/fix_docker.sh ``` ### 4. Запуск с полностью чистым окружением После выполнения всех исправлений запустите контейнеры заново: ```bash docker-compose up -d ``` ## Альтернативное решение Если проблема сохраняется, можно попробовать запустить контейнеры по отдельности: ```bash # Сначала запустить базу данных (если она нужна) docker-compose up -d db # Дождаться запуска базы данных sleep 10 # Запустить бота docker-compose up -d bot # Запустить adminer docker-compose up -d adminer ``` ## Проверка работы миграций После запуска контейнеров проверьте, что миграции базы данных применяются правильно: ```bash # Просмотр логов контейнера бота docker logs telegram-tinder-bot # Если миграции не применяются, можно запустить их вручную внутри контейнера docker exec -it telegram-tinder-bot sh -c "DATABASE_URL=postgres://$DB_USERNAME:$DB_PASSWORD@$DB_HOST:$DB_PORT/$DB_NAME npx node-pg-migrate up" ```