arc*_*tom 19 python path docker
如何在Dockerfile中添加PYTHONPATH的路径?这样当容器运行时它有正确的PYTHONPATH?我对码头工作者来说是新手.
我已添加ENV PYTHONPATH "${PYTONPATH}:/control"
到Dockerfile,因为我想将目录添加/control
到PYTHONPATH
.
当我访问容器bash docker exec -it trusting_spence bash
并打开python并运行下面的命令时,目录control
不在列表中.
import sys
print(sys.path)
FROM python:2
RUN pip install requests\
&& pip install pymongo
RUN mkdir control
COPY control_file/ /control
ENV PYTHONPATH "${PYTONPATH}:/control"
CMD ["python","control/control_file/job.py"]
Run Code Online (Sandbox Code Playgroud)
Eri*_*and 30
只需添加一个ENV
条目Dockerfile
:
ENV PYTHONPATH "${PYTHONPATH}:/your/custom/path"
Run Code Online (Sandbox Code Playgroud)
或者PYTHONPATH
在启动脚本中设置.
Nim*_*rag 10
您正确设置了 python 路径,但是您的命令不是由 shell 运行的,因此PYTHONPATH
不考虑环境变量。
将您CMD
的“exec”形式更改为“shell”形式:
CMD python control/control_file/job.py
从文档:
注意:与 shell 形式不同,exec 形式不调用命令 shell。这意味着正常的 shell 处理不会发生。例如, CMD [ "echo", "$HOME" ] 不会对 $HOME 进行变量替换。如果你想要 shell 处理,那么要么使用 shell 形式,要么直接执行 shell,例如:CMD [ "sh", "-c", "echo $HOME" ]。当使用 exec 形式并直接执行 shell 时,就像 shell 形式一样,是 shell 进行环境变量扩展,而不是 docker。
归档时间: |
|
查看次数: |
15929 次 |
最近记录: |