我有两个python文件Person
lucene-memory-XX.jar
,内容低于。
my_script.py
my_script.py
test.py
test.py
当我执行#!/usr/bin/python3
import os
import sys
sys.path.append("/home/user/test")
import test as count
data = count.function()
print(data)
时,我得到以下结果:
#!/usr/bin/python3
import time
def function():
print("This is function")
return "test"
我使用Dockerfile创建了my_script.py
的docker镜像:
This is function
test
但是当我运行它的容器时,我收到一个错误:
my_script.py
最初我认为容器会自动查找test.py并执行其功能但不是。我该如何解决这个问题。
答案 0 :(得分:2)
好的,我会根据以下评论添加更多说明。 您的文件位于本地系统的任何位置与Docker容器中的文件无关。
因此,在您可以在容器(基本上是“其他服务器”)中运行东西之前,您需要将文件从本地计算机复制到容器中。
要实现您希望实现的目标,您需要Dockerfile
:
FROM python:3
RUN mkdir -p /home/user/test
ADD my_script.py /home/user/test/
ADD test.py /home/user/test/
CMD [ "python3", "/home/user/test/my_script.py" ]
然后你可以从脚本中删除你的路径错误。
所以最终的my_script.py
看起来像是:
#!/usr/bin/python3
import os
import sys
import test as count
data = count.function()
print(data)