Как я могу написать Dockerfile?Я хочу выполнить некоторые из моих .py файлов в Docker-контейнере - PullRequest
0 голосов
/ 20 сентября 2019

Как мне написать Dockerfile?

Я хочу выполнить некоторые из моих .py файлов в Docker-контейнере, используя Dockerfile.

Это мой Dockerfile.

FROM continuumio/anaconda3:latest

LABEL maintainer ~~

COPY . /app

WORKDIR /app

CMD python my_py.py

И я приказал

docker build -t myapp .

Успешно помечен myapp: последний

docker run -it myapp

SyntaxError: Non-ASCII character '\xeb' in file my_py.py on line 15. ~~~

Итак, я добавил его (вверху файла) >>> # -*- coding: utf-8 -*- И я перестроил, повторил попытку

docker run -it myapp

ImportError: No module named requests

Когда я пытался выполнить my_py.py в этом контейнере, это работало хорошо.

В чем проблема?

Ответы [ 2 ]

0 голосов
/ 20 сентября 2019

Попробуйте указать полный двоичный путь Python.

CMD /opt/conda/bin/python my_py.py

Или лучше добавить ENV.Чтобы упростить запуск нового программного обеспечения, вы можете использовать ENV для обновления переменной среды PATH для программного обеспечения, устанавливаемого вашим контейнером.Например,

ENV PATH /opt/conda/bin:$PATH 

гарантирует, что CMD python my_py.py просто работает.

FROM continuumio/anaconda3:latest

LABEL maintainer ~~

COPY . /app

WORKDIR /app

ENV PATH /opt/conda/bin:$PATH

CMD python my_py.py
0 голосов
/ 20 сентября 2019

Полагаю, вам нужно установить requests модуль с помощью pip


FROM continuumio/anaconda3:latest

LABEL maintainer ~~

COPY . /app

WORKDIR /app

RUN python -m pip install requests

#or RUN pip install requests

CMD python my_py.py

. Попробуйте это.

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