Отладка NodeJS внутри контейнера Docker на VSCode


Источник изображения

Итак, здравствуйте, прошло некоторое время, и я не следил за своими ежедневными рассылками, или, возможно, мои дни длиннее ваших. Относительность, кто знает?

Итак, я играл с проектом Node.js, размещая его с помощью Docker вместе с базой данных Postgres.

И все было хорошо и прекрасно, пока я не захотел отладить ошибку на VSCode.

И не смог.

Поэтому я пошел далеко и широко, поговорил со многими друзьями (хотелось бы) и наткнулся на эту классную статью Отладка некомпилированного кода Typescript, запущенного в контейнере Docker | автор Mitsuhide Ohi | Medium.

Эта статья направила меня в нужное русло, но мне пришлось добавить несколько вещей.

1 — Прежде всего, мне не нужно было добавлять отладочный скрипт в package.json. Я просто заменил свой флаг —inspect на itself + server_address:port —inspect=0.0.0.0:9229.

2 — Я добавил следующую строку в свой tsconfig.json.

"sourceMap": true
Войти в полноэкранный режим Выйти из полноэкранного режима

3 — Здесь все сильно отличается от статьи, в моей конфигурации vscode launch.json не использовался sourceMapPathOverrides (он ничего не делал для меня).

Вместо этого я заменил его этими двумя классными свойствами (remoteRoot и localRoot):

4 — Теперь в файле docker-compose.yml я добавил к сервису mainApp порт docker для отладки.

5 — После всего этого мне пришлось запустить docker-compose up -d —build —force-recreate, так как я изменил файл docker-compose.yml.

И тут БУМ! Все заработало.


😗 Понравилась моя статья?

Перешлите другу и сообщите им, где они могут подписаться (подсказка: здесь).

Что-нибудь еще? Просто поздоровайтесь в комментариях :).

Присоединяйтесь к эксклюзивному сообществу, дружественному к технике! Общайтесь с единомышленниками, которые интересуются технологиями, дизайном, стартапами и развитием онлайн — подайте заявку здесь.

Оцените статью
Procodings.ru
Добавить комментарий