Как добавить библиотеки Python в образ Docker - PullRequest
3 голосов
/ 01 октября 2019

Сегодня я начал работать с Docker. Поэтому, пожалуйста, потерпите меня. Я даже не уверен, имеет ли название смысл. Я только что установил Tensorflow с помощью Docker и хотел запустить скрипт. Тем не менее, я получил следующую ошибку о том, что Matplotlib не установлен.

Traceback (most recent call last):
File "tf_mlp_v3.py", line 3, in <module>
import matplotlib.pyplot as plt
ModuleNotFoundError: No module named 'matplotlib'

Я использовал следующую команду для установки Tensorflow

docker pull tensorflow/tensorflow:latest-gpu-jupyter

Как теперь добавить другие библиотеки Python, такие какMatplotlib к этому изображению?

Ответы [ 3 ]

4 голосов
/ 01 октября 2019

Чтобы настроить изображение, вы обычно хотите создать новое, используя существующее изображение в качестве основы. В Docker очень часто создаются пользовательские изображения, когда существующие не совсем так, как вы хотите. Опираясь на общедоступные изображения, вы можете добавлять свои собственные настройки, не повторяя (или даже не зная), что делает базовое изображение.

  1. Добавьте необходимые шаги в новый Dockerfile .

    FROM tensorflow/tensorflow:latest-gpu-jupyter
    
    RUN <extra install steps>
    COPY <extra files>
    

    RUN и COPY - примеры инструкций, которые вы можете использовать. RUN запустит команду по вашему выбору, такую ​​как RUN pip install matplotlib. COPY используется для добавления новых файлов с вашего компьютера в образ, например, файла конфигурации.

  2. Создайте и пометьте новое изображение. Дайте ему новое имя по вашему выбору. Я назову это my-customized-tensorflow, но вы можете назвать его как угодно.

    Предполагая, что Dockerfile находится в текущем каталоге, запустите docker build:

    $ docker build -t my-customized-tensorflow .
    
  3. Теперь вы можете использовать my-customized-tensorflow, как и любое другое изображение.

    $ docker run my-customized-tensorflow
    
2 голосов
/ 01 октября 2019

Добавьте это в свой Dockerfile после вытягивания изображения:

RUN python -m pip install matplotlib
0 голосов
/ 01 октября 2019

Существует несколько вариантов:

  • Получить в контейнер и установить зависимости (помните, что эти изменения будут потеряны при воссоздании контейнера):

    docker exec <your-container-id> /bin/bash
    

    Это должно открыть интерактивный Bash. Затем установите зависимости (pip или conda).

  • Другой вариант - добавить его во время сборки (образа). То есть добавление инструкции RUN в Dockerfile

Все зависимости устанавливаются с использованием инструментов Python по умолчанию (например: pip, conda)

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