Эта статья представляет собой краткую инструкцию и посвящена настройке IDE для возможности запуска и отладки Django сервера. Статья нацелена на людей которые столкнулись с подобной проблемой и хотелось бы поделиться опытом, так как сам прошёл эти этапы и танцы с бубном.
Подразумевается что у вас уже имеется настроенный и установленный контейнер с развёрнутым сервером Django и вы бы хотели перенести запуск и отладку в IDE PyCharm (только в профессиональной версии).
Для начала необходимо настроить файл docker-compose.yml. Предположим у вас имеется основной контейнер который вы запускаете для отладки, у меня этот контейнер имеет название app, необходимо его продублировать, изменив название (например на web или web_pycharm) и порт отличный от основного, что бы они не конфликтовали. Это необходимо для того что бы оставалась возможность ручного запуска контейнера, так как PyCharm вносит свои изменения в предоставляемый контейнер. То есть для ручного запуска или для взаимодействия с файловой системой и тому подобное всё так же можно зайти в основной контейнер.
Изменяем docker-compose.yml
version: '3.4' services: db: # описание контейнера lessc: # описание контейнера nodejs: # описание контейнера app: # Это основной конттейнер # Порты указаны на работу в пределах 8000-8010 ports: - '8000-8010:8000-8010' web: # новый контейнер, необходимо продублировать основной контейнер # (в моём случае это app) # изменяем порты ports: - '8011-8020:8011-8020' # добавляем в зависимости остальные контейнеры depends_on: - app - db - redis - nodejs - lessc
В настройках Docker указать использование docker v2

Далее необходимо выполнить сборку. В корне проекта (где находится docker-compose.yml) выполнить команду в консоли:
docker-compose up
После того как все контейнеры запустились и вы это проверили в докере можно останавливать процесс. Приблизительный результат на картинке (лично моей ситуации). После этого контейнеры остановятся.

Можно приступать к настройке непосредственно PyCharm.


Создаём сервер django. Выбираем desktop в зависимости от системы


Теперь необходимо настроить удалённый интерпретатор. Добавляем новый docker-compose. В качестве сервиса выбираем созданный нами web.




Теперь после успешного создания интерпретатора отобразятся все библиотеки установленные в контейнере для Python. Что бы интерпретатор вступил в силу необходимо время.

Последним шагом является настройка конфигурационного файла. Конфигурацию выбираем Django Server. В качестве хоста указать нули: 0.0.0.0, а в качестве порта один из тех что мы указали для контейнера web, в моем случае я выбрал 8020. Так же необходимо указать созданный удалённый интерпретатор.


Вот и всё. По идее этого достаточно что бы запустить Django сервер для отладки в PyCharm как обычный скрипт python. Не забудьте что при заходе на страницу локального сайта необходимо указывать тот порт который указали при настройке конфигурации т.е. 127.0.0.1:8020.
Когда проходил эти шаги пользовался официальной документацией PyCharm, так же мне очень помогло это Видео. Спасибо за внимание.
