【发布时间】:2021-05-04 20:02:38
【问题描述】:
我有一个 Python 脚本,它运行一个查询并将输出打印到一个文本文件中。当我将它 Dockerize 时,没有创建输出文件。 Dockerfile如下:
FROM python:3
ADD cert_lamp.py /
ADD certificates.txt /
RUN pip install pyOpenSSL
RUN pip install numpy
RUN pip install cryptography
RUN pip install idna
CMD [ "python", "./cert_lamp.py" ]
cert.txt 是我需要添加输出的文件。这在脚本中被引用。如何将其添加到 Dockerfile?
【问题讨论】:
-
我建议在 FROM python:3 之后添加 WORKDIR /app 以将工作目录从 / 更改为 /app
-
文件是在 Docker 容器中创建的吗?
-
您知道您可以使用:“docker exec -it
/bin/bash” ssh 进入您的容器并执行 python 脚本并查看文件是否生成正确...如果是这种情况,那么答案 aSaffary 是从容器外的主机访问它的方法。 -
您是否需要将文件放在构建的映像中(在这种情况下,您可以在构建时
COPY或RUN脚本)或者它是脚本的输出(在在哪种情况下,Python 虚拟环境可能更容易设置)? -
对不起,我有点迷路了。您能否澄清一下您是否只需要一个空文件到您的 docker 容器中?如果是的话,一个简单的
touch应该没问题。否则你能更好地澄清这个问题吗?该文件是否包含某些内容?是否需要将其暴露在容器外才能得到输出?