我正在尝试将我的 python 脚本 (名为 ) docker 化QC.py
。为此,我制作了一个Dockerfile
如下所示的文件:
FROM python:3
ADD qc.py /
RUN pip install numpy
RUN pip install sklearn
CMD [ "python", "./qc.py" ]
我使用以下命令构建了图像:
docker build -t qc .
然后使用此命令运行它:
docker run qc
不使用docker,脚本就可以完美运行(我可以看到进程,最后它返回“已完成”,这是我添加的以确保脚本正常运行)并且输出是一些pdf
文件。当我使用docker使用提到的命令时Dockerfile
,它仍然有效,我可以看到进程,但我看不到pdf文件。我认为它们在容器文件系统中。你知道如何访问pdf文件吗?
答案1
Python 脚本在 docker 容器内执行,这也是脚本输出所在的位置。
Docker 镜像创建
Dockerfile 是正确的,涉及所需环境(numpy、sklearn)的安装。将脚本放在单独的目录中,例如,qc
以避免与容器文件系统发生冲突。
FROM python:3
ADD qc.py /qc/
RUN pip install numpy
RUN pip install sklearn
CMD [ "python", "./qc/qc.py" ]
docker build -t qc .
将卷添加到正在运行的容器
运行容器并output
在容器内挂载文件夹:
docker run -it -v "$(pwd)":/qc/output qc
运行命令将当前目录挂载到/qc/output
容器内的文件夹中。qc.py
需要修改以将其输出放在output
文件夹中。
然后将脚本的输出放在本地文件夹中。