I Я настраиваю RubyMine Debugger с помощью Docker, но я считаю, что у меня проблема с сопоставлением портов, и я не могу найти документацию, в которой подробно объясняется, что запрашивает «форма конфигурации в ruby mine» и как найти соответствующую информацию для поля ввода формы» все, что я могу найти, это общая информация.
У меня было много сообщений об ошибках и даже сбой, когда я нажимаю кнопку отладчика. Я пробовал намного больше, чем то, что я публикую, но я никогда не записывал это. Это то, где я нахожусь в данный момент
Я подписался на https://confluence.jetbrains.com/display/RUBYDEV/How+to+setup+and+run+ruby+remote+debug+session
Я добавил порты в файл docker-compose.yml. Настройка конфигурации для удаленного удаленного Ruby SDK и Gem. Настройте конфигурацию удаленной отладки Ruby. Я пытался работать над каждой ошибкой, но я просто получаю больше, когда иду. Это приложение использует docker-compose, и я совсем не знаком с ним, кроме всего того, что я читал, чтобы получить эту настройку отладчика.
файл docker-compose.yml
app:
build: wffffffe_api
dockerfile: Dockerfile-development
command: rails server --port 3000 --binding 0.0.0.0
stdin_open: true
tty: true
ports:
- "3000:3000"
- "1234:1234"
- "26162:26162"
volumes:
- './wfffffe_api:/var/www/weffffffe_api'
- './dotfiles/.vimrc-basic:/root/.vimrc'
Конфигурация отладчика
Remote host: 0.0.0.0
Remote port: 3000
Remote root folder: /var/www/wffffffe_api
local port: 26162
local root folder: /Users/josh/Work/wffffffe_api
я пробовал делать
docker-compose exec app rdebug-ide --host 0.0.0.0 --port 3000 --dispatcher-port 26162 -- bin/rails server
Если контейнер докеров уже запущен, я получаю: Фатальное исключение в цикле DebugThread: Адрес уже используется - bind(2) для порта "0.0.0.0" 3000
Если контейнер докеров еще не запущен, я получаю: Быстрый отладчик (ruby-debug-ide 0.6.1, debase 0.2.2, поддерживается фильтрация файлов) прослушивает 0.0.0.0:3000
Я то делаю docker-compose up --build -d
ОШИБКА: для приложения Не удается запустить приложение-службу: b'driver не удалось запрограммировать внешнее подключение к конечной точке work_app_1 (1e830daaecd39fab784b817a03893b592635542a8dfe3de69859c0ba7d39b483): ошибка при запуске прокси-сервера пользовательского пространства: сбой привязки для 0.0.0.0:3000: порт уже выделен '
Нужно ли мне иметь два отдельных работающих сервера?
🤔 А знаете ли вы, что...
Фреймворк обеспечивает возможность интеграции с различными фронтенд-технологиями и библиотеками, включая JavaScript и CSS.
Ваша проблема в том, что вы пытаетесь отлаживать порт 3000, который уже привязан к вашему приложению rails.
--port
rdebug-ide указывает порт, который RubyMine будет использовать для своего протокол отладки.
Когда вы выполняете rails server --port 3000 --binding 0.0.0.0
, вы привязываете порт 3000 как ваше приложение rails (а не как порт отладки).
Измените отладку удаленного порта на 1234 (которую вы уже указали в своем docker-compose.yml), и она должна работать.
Подводя итог, ваша команда должна выглядеть так:
docker-compose exec app rdebug-ide --host 0.0.0.0 --port 1234 --dispatcher-port 26162 -- bin/rails server --port 3000 --binding 0.0.0.0