Как импортировать скрипт запуска модуля python в контейнер docker? - PullRequest
0 голосов
/ 15 марта 2020

Мне нужно запустить python скрипт в контейнере docker. Этот скрипт имеет импорт модуля psutil . Я создал образ и после его запуска я получаю сообщение об ошибке:

File "/usr/src/app/metrics.py", line 1, in <module>
   import psutil
ModuleNotFoundError: No module named 'psutil'

Локально мой скрипт работает, потому что я установил этот модуль с помощью команды "python -m pip install psutil". Я пытался смоделировать это действие в dockerfile через: "CMD python -m pip install psutil", но оно не работает. Что я делаю неправильно? Содержание Dockerfile:

FROM python:3.8.2-buster
WORKDIR /usr/src/app
COPY metrics.py .
RUN pip install --upgrade pip
CMD python -m pip install psutil
CMD python /usr/src/app/metrics.py

1 Ответ

0 голосов
/ 15 марта 2020

Согласно https://docs.docker.com/engine/reference/builder/ "В Dockerfile может быть только одна инструкция CMD. Если вы укажете более одной CMD, то вступит в силу только последняя CMD."

Возможно Вы просто хотите установить psutil, используя другой RUN?

FROM python:3.8.2-buster
WORKDIR /usr/src/app
COPY metrics.py .
RUN pip install --upgrade pip
RUN python -m pip install psutil
CMD python /usr/src/app/metrics.py
...