当前位置: 首页 > 知识库问答 >
问题:

容器外的Docker输入/输出

阴永福
2023-03-14

我用python脚本创建了一个docker容器。python脚本接受一个输入文件,进行一些处理,并将输出文件保存在指定的位置。

docker run /app/script.py --input /data/input.csv --output /data/output.csv
docker run /app/script.py --input /my/local/location/outside/docker/input.csv --output /my/local/location/outside/docker/output.csv
FROM phusion/baseimage

RUN apt-get update
RUN apt-get install -y build-essential
RUN apt-get install -y python-dev
RUN apt-get install -y python-pip
RUN apt-get install -y python-numpy && \
    apt-get install -y python-scipy

COPY ./requirements.txt /app/requirements.txt
COPY ./src/script.py /app/script.py

WORKDIR /app
COPY . /app

共有1个答案

关胜
2023-03-14

可以使用-v选项:https://docs.Docker.com/engine/tutorials/dockervolumes/将文件装入目录作为Docker数据卷

docker run -d -P --name myapp -v /app mydir/app python script.py

这将有一个额外的好处,即允许您停止容器,对文件进行更改,以及启动容器并看到容器中反映的更改。

 类似资料:
  • 我在WSL2 Ubuntu 20.04上,试图在“交互式tty”模式下运行一个Docker容器,我根本看不到终端中容器的输出。 WSL2 terminal - Run a container and execute a command 我可以用Ttyd克服它,但我更喜欢用我的终端,这个有什么线索吗? Ubuntu 20.04 is my default distribution

  • 问题内容: 我开始使用Docker。我正在使用WordPress基本映像和docker-compose。 我正在尝试使用ssh进入其中一个容器,以检查在初始构建期间创建的文件/目录。我试着跑步,但是没有做任何事情。即使这样做,我还是希望有一个可以遍历目录结构的控制台,而不是运行单个命令。用Docker执行此操作的正确方法是什么? 问题答案: 将允许您连接到Docker容器,但这与并不是真的一样。例

  • Python提供一个标准的模块,称为pickle。使用它你可以在一个文件中储存任何Python对象,之后你又可以把它完整无缺地取出来。这被称为 持久地 储存对象。 还有另一个模块称为cPickle,它的功能和pickle模块完全相同,只不过它是用C语言编写的,因此要快得多(比pickle快1000倍)。你可以使用它们中的任一个,而我们在这里将使用cPickle模块。记住,我们把这两个模块都简称为p

  • 问题内容: 我有一个在前台运行Apache服务的容器。我希望能够从另一个外壳访问该容器,以便在其中“探查”并检查文件。目前,如果我连接到容器,则只能查看Apache守护程序,并且无法运行任何命令。 是否可以将另一个tty附加到正在运行的容器?可能,我可以利用Docker实际上只是包裹LXC容器这一事实吗?我已经尝试过了,但是看来只有一个tty可用,而那是一个运行apache守护程序的tty。也许有

  • 我的ANTLR4有问题。我正在尝试从python 3代码打印AST,但有一些错误,我不知道如何修复它们。 我编写了简单的测试代码: 我运行了程序,但出现了以下错误: 我的主要班级: 我有这个网站的语法:https://github.com/antlr/grammars-v4/tree/master/python3

  • 我有一个在 docker 容器中运行的 mysql 容器,该容器故意无法通过任何端口访问,但可供其他 Docker 容器访问。 例如,考虑以下mysql容器 现在我想在我的主机上存在的mysql中运行一个转储文件。 但是我得到了回应 如何将我的主机输出到docker容器? 请注意一件事,它不是关于错误的,通过删除-it或-i,我没有收到错误,但我无法通过管道输出到docker容器。 问题是如何将任