Отладка образа докера с --network=host не работает в VSCodePython

Программы на Python
Ответить
Anonymous
 Отладка образа докера с --network=host не работает в VSCode

Сообщение Anonymous »

Я новичок в работе с докерами
Я могу отлаживать образ докета в 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
Я получаю вышеупомянутое всплывающее окно: Connect ECONNREFUSED: 127.0.0.1:5678.
Я ожидал, что оно просто подключится, поскольку используемый порт (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
Просмотр этого веб-сайта, документации VSCode и остальной части Интернета не дал мне ответа о том, как отладка контейнера запускается в хост-сети.
Кто-нибудь знает, как отлаживать докер-контейнер, который запускается с --network=host в VSCode?

Подробнее здесь: https://stackoverflow.com/questions/792 ... -in-vscode
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»