Как настроить среду для разработки приложений на python в Docker Desktop

#python #docker #tensorflow #cv2

Вопрос:

Я следую этому руководству, чтобы создать среду для разработки проекта распознавания лиц.
Я извлек изображение, представленное в руководстве, как показано здесь, с помощью команды docker pull colemurray/medium-facenet-tutorial в окне настройки рабочего стола.
Я запускаю контейнер с изображением, но не понимаю, как я могу разработать в нем приложение (например, имея доступ к модулям, загруженным в Docker)
Единственное действие, которое, я думаю, я могу предпринять здесь, — это открыть интерфейс командной строки контейнера, как показано здесь, но я не могу найти никакого руководства по его использованию для добавления локальной папки в среду.

Я понимаю, что, используя anaconda, мне просто нужно будет активировать среду и запустить ноутбук jupyter для разработки в этой среде, и я пытаюсь сделать то же самое с Docker, но мне не удается установить такое же соединение, любые советы будут высоко оценены.

Комментарии:

1. Можете ли вы просто использовать обычную виртуальную среду Python, даже если вы собираетесь в конечном итоге развернуть ее в Docker? Если целью является Docker, то настроить Anaconda немного сложнее, чем другие фреймворки, такие как Pipenv или setuptools.

Ответ №1:

Здесь у вас есть три варианта:

  1. Сохраните Dockerfile его в своем рабочем каталоге и добавьте команду копирования Dockerfile , которая скопирует ваши файлы python в контейнер docker. Таким образом, во время сборки ваш контейнер создается с файлами в нем.
 ADD $PWD/requirements.txt /requirements.txt
RUN pip3 install -r /requirements.txt 
ADD $PWD/ /   #This will add all your workdirectory files in container
 

После этого вы сможете получить к нему доступ через docker run .

  1. Вы можете использовать docker cp команду для копирования файлов в запущенный контейнер docker, а затем получить к нему доступ с помощью bash.

    https://docs.docker.com/engine/reference/commandline/cp/

  2. Вы можете смонтировать свой рабочий каталог с помощью -v флага во время работы, чтобы получить доступ ко всему рабочему каталогу внутри контейнера, а затем запустить его с помощью bash.

docker run -it -v /path-to-your-wd:/ colemurray/medium-facenet-tutorial Это свяжет ваш рабочий каталог в / месте внутри контейнера docker.