如何编写Dockerfile?
我想使用Dockerfile在Docker容器中执行一些.py文件。
这是我的Dockerfile。
FROM continuumio/anaconda3:latest
LABEL maintainer ~~
COPY . /app
WORKDIR /app
CMD python my_py.py
我命令了
docker build -t myapp .
成功标记了myapp:latest
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时,效果很好。
出什么问题了?
答案 0 :(得分:0)
我想您需要使用pip安装requests
模块
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
尝试一下。
答案 1 :(得分:0)
尝试提及完整的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