Достижение локальных точек останова IDE для библиотек в работающем Docker-контейнере - PullRequest
2 голосов
/ 15 мая 2019

У меня есть Dockerfile, содержащий строки:

COPY requirements.txt requirements.txt
RUN pip3 install -r requirements.txt

Я хотел бы установить несколько точек останова для библиотек, установленных с помощью требований в моей локальной IDE. Мне интересно, как запустить образ докера так, чтобы эти файлы были доступны из моей локальной IDE. Соответствующие модули расположены на изображении по адресу:

/usr/local/lib/python3.7/site-packages

Итак, я подумал об использовании строки:

docker run \
    -v site_pkgs:/usr/local/lib/python3.7/site-packages
    --entrypoint python3 \
    app-dev

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

1 Ответ

1 голос
/ 15 мая 2019

a) Если вы просто хотите получить код модуля пакета python в контейнере и иметь тестовое приложение в локальной IDE для вызова этих модулей. Тогда вам не нужно запускать этот контейнер, просто:

docker cp /usr/local/lib/python3.7/site-packages .

После этого эти py-файлы модуля Python будут находиться в вашем локальном компьютере (хост Docker). Затем вы можете использовать локальную среду IDE для их отладки, конечно же, с помощью собственного тестового кода.

b) Если вы хотите использовать локальную среду IDE для прямой отладки кода в контейнере, тогда VSCode IDE - ваш выбор.

ПРИМЕЧАНИЕ: вам нужно использовать инсайдерскую сборку в настоящее время, так как это довольно новая функция, и я думаю, что это отличная функция .

См. Разработка внутри контейнера , vscode дает вам возможность установить IDE на локальном хост-компьютере, но все же может позволить IDE отлаживать код в контейнере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...