【发布时间】:2017-09-04 07:38:41
【问题描述】:
过去几天我一直在搜索有关 Dockerfile 的内容。我在 python 2.7 中使用 cx_Oracle。这是我的 Dockerfile 的样子:
FROM sbanal/python-oracle-xe12.1-latest
WORKDIR /code/app
COPY generate_distance.py /code/app/app.py
COPY generate_values.py /code/app/app2.py
为了便于解释,我制作了一种打印文件名的方法。在 generate_distance.py 中:
def test():
print "Generate distance"
test()
在 generate_values.py 中:
def test():
print "Generate values"
test()
然后我正在运行带有标签的 docker build:
docker build -t gen .
Sending build context to Docker daemon 13.82kB
Step 1/4 : FROM sbanal/python-oracle-xe12.1-latest
---> 723335924016
Step 2/4 : WORKDIR /code/app
---> Using cache
---> 9fde6fb3ac02
Step 3/4 : COPY generate_distance.py /code/app/app.py
---> 1dbf7ef85ee3
Removing intermediate container ae626dcef48c
Step 4/4 : COPY generate_values.py /code/app/app2.py
---> 7a54500b88a3
Removing intermediate container f496edfc237d
Successfully built 7a54500b88a3
Successfully tagged gen:latest
运行“docker images”时,我可以看到“gen”图像。但是当我运行“gen”图像时,只有 app.py 工作:
>docker run -p 5500:5000 gen
>Generate distance
我看不出我犯了什么错误。我也不知道为什么要叫app.py。如果我在 Dockerfile 中的 COPY 期间使用不同的文件名,我会收到“没有这样的文件或目录”错误。那就是:
FROM sbanal/python-oracle-xe12.1-latest
WORKDIR /code/app
COPY generate_relation_distance.py /code/app/generate_relation_distance.py
COPY generate_ten_values.py /code/app/generate_ten_values.py
像上面的部分一样构建和运行:
docker run -p 5500:5000 gen
python: can't open file 'app.py': [Errno 2] No such file or directory
希望有人可以帮助我:)
【问题讨论】:
标签: python python-2.7 docker dockerfile