Я могу отлаживать образ докета в VSCode, удаленно подключаясь к нему. Теперь у меня есть образ докера, который нужно запустить с --network=host.
У меня сложилось впечатление, что он будет работать точно так же, за исключением той части, где у меня есть для сопоставления порта, поскольку он работает в хост-сети. Но, похоже, это не работает таким образом: VSCode показывает всплывающее окно: Connect ECONNREFUSED: 127.0.0.1:5678.
В моем файле докеров у меня есть следующие строки (small_app - это просто цикл, печатающий «Hello World» каждую секунду):
Код: Выделить всё
RUN pip install debugpy
CMD ["python", "-m", "debugpy", "--listen", "0.0.0.0:5678", "--wait-for-client", "small_app.py"]
Код: Выделить всё
docker run -p5678:5678 small_app
но если я запущу ее с помощью:
Код: Выделить всё
docker run --network=host small_app
Я ожидал, что оно просто подключится, поскольку используемый порт (5678) является порт в хост-сети
При запуске small_app в локальной среде conda (то есть не в докере) VSCode может подключиться к нему, и я могу удаленно отлаживать его. И в этом случае он также использует порт 5678 в хост-сети.
Мой файл launch.json выглядит так:
Код: Выделить всё
{
"name": "Python: Remote Attach",
"type": "python",
"request": "attach",
"connect": {
"host": "localhost",
"port": 5678
},
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
"remoteRoot": "/home"
}
],
"justMyCode": true
},
- исключение 0.0.0.0 из имени порта в команде CMD в файле docker< /li>
заменив его на localhost или 127.0.0.1
Кто-нибудь знает, как отлаживать докер-контейнер, который запускается с --network=host в VSCode?
Подробнее здесь: https://stackoverflow.com/questions/792 ... -in-vscode
Мобильная версия