Отладка Django с помощью VS Code внутри контейнера Docker отключает контейнер
Я следую этому руководству по отладке Django внутри контейнера Docker с помощью VS Code. Единственное отличие, которое я сделал, это изменил порты на 8000
и хост на 0.0.0.0
, потому что в моем docker-compose все именно так.
Я понятия не имею, почему веб-контейнер выключается, когда я запускаю Django с точкой останова внутри представления, потому что я действительно не знаю, откуда исходит проблема. Единственное, что я могу предположить, это файл vscode/launch.json
, который устанавливается следующим образом:
{
"version": "0.2.0",
"configurations": [
{
"name": "Run Django",
"type": "python",
"request": "attach",
"pathMappings": [
{
"localRoot": "${workspaceFolder}/app",
"remoteRoot": "/usr/src/app"
}
],
"port": 8000,
"host": "0.0.0.0",
}
]
}
Есть идеи, почему это не работает или откуда берется проблема?
Вы используете Mac или WSL1? Я видел, как Docker заканчивал память на VSCode при использовании отладчика специально с точками останова.
Виртуализация Docker осуществляется на уровне ОС, однако для достижения такой виртуализации ОС ядро вашей машины должно быть таким же, как и у контейнера (вот почему Windows имеет WSL2), но MacOS работает на Darwin, а не на Linux, поэтому ей нужен другой уровень (LinuxKit VM).
Пожалуйста, проверьте, есть ли в настройках вашего Docker вкладка Resources. Если да, дайте ей больше памяти, отладка VSCode довольно тяжела в Django.