Я хочу отладить работу java приложения на Docker контейнере с моей windows хост-машины. Кроме того, контейнер работает на VirtualBox VM. Я могу удаленно подключиться к своей папке проекта java в виртуальной машине, используя плагин Remote S SH кода Visual Studio (VS C). Однако я не нашел способа отладки приложения java, работающего в контейнере, с VS C на моей хост-машине windows.
Я еще не пробовал, но будет решение. Например, VS C может подключить мою виртуальную машину с помощью S SH, чтобы после подключения VS C могла отлаживать приложение java. Для отладки dockerfile приложения java должен быть также настроен для включения удаленной отладки.
Существуют ли какие-либо точные решения или плагины, которые поддерживают удаленную отладку с хост-машины (в моем случае windows хост-машина) для любого типа приложения (в моем случае java приложение), работающего на удаленном хосте docker контейнер (в моем случае docker контейнер, работающий на ВМ)? Я задал этот вопрос для visual-studio-кода.
Обзор системы
РЕДАКТИРОВАТЬ:
Я решил мою проблему с той же концепции, но два разных пути.
В VS C для отладки должен быть запуск. json и похоже на мой случай
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome against VM",
"url": "http://192.168.56.101:9000",
"webRoot": "${workspaceFolder}"
}
Этот порт 9000 открыт контейнером в виртуальной машине. Этот 192.168.56.101 IP-адрес принадлежит виртуальной машине.
С настройкой переадресации порта VirtualBox, например, перенаправить порт хоста 9000 на порт VM 9000. Таким образом, мы должны настроить запуск. json относительно конфигурации виртуальной машины, например
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://localhost:9000",
"webRoot": "${workspaceFolder}"
}
Кроме того, запуск. json настроен для реактивной отладки и это может быть изменено для других технологий.