Каков наилучший и простой способ удаленной отладки кода Python, выполняющегося в контейнере Docker?

1

Я только начал работать над python. Я хочу отлаживать код python, который работает в контейнере докеров. Может кто-нибудь, пожалуйста, предложите мне, что может быть лучшим способом дистанционно отладить это? Я открыт для использования любой из IDE, такой как pycharm или VS Code и т.д. Спасибо заранее.

Note: I'm using Mac OS for the development
  • 0
    Есть ли причина, по которой вы не хотите отлаживать свой код Python на своем компьютере перед тем, как поместить его в контейнер?
  • 0
    @StephaneM код уже запущен в контейнере, я хочу отладить код, добавить в код некоторые точки останова, как в Visual Studio. Возможно ли это в этом случае?
Теги:
visual-studio-code
docker
debugging
remote-debugging

2 ответа

2

Один из методов, который я использовал для отладки внутри контейнера, заключался в следующем:

  • Прокомментируйте точку входа ENTRYPOINT ["/mydir/mycode.py"] в файле Dockerfile
  • Перезапустите контейнер и выполните docker exec -it <container name>/bin/bash
  • Затем выполните команду pdb/mydir/mycode.py

Другой способ может заключаться в том, чтобы открыть удаленный порт для отладки в контейнере докера, используя команду docker expose, которая позволит pycharm подключиться к коду. Здесь обсуждается аналогичный подход.

https://medium.com/@furkanpur/remote-python-debug-to-docker-container-over-ssh-by-using-pycharm-44a9b6e82206

  • 0
    Но этот метод не поможет в отладке кода из любой IDE. Я специально хочу отладить код и поставить некоторые точки останова в коде из IDE.
1

Расширяясь от того, что упомянуто в piy26 относительно разоблачения удаленного порта докеров, я думаю, что pudb очень подходит для этой задачи. Я написал репозиторий github с простым примером и пошаговыми инструкциями, которые вы можете клонировать и опробовать https://github.com/isaacbernat/docker-pudb

Дополнительная информация об этом другом ответе: Запуск пудба внутри контейнера докеров

  • 0
    Привязывается ли он к какой-либо IDE, такой как код VS или pycharm?
  • 0
    Афаик его нельзя привязать ни к какой IDE. Но я не поняла, что это было требованием к чтению вопроса. У Pudb есть текстовый графический интерфейс, со следами стека и некоторыми IDE-подобными функциями. Может быть, это уже покрывает ваши потребности? Вы можете получить больше информации на их странице pypi.org/project/pudb
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню