将文件管道传输到Docker运行中

rfbsl7qr  于 2023-01-08  发布在  Docker
关注(0)|答案(2)|浏览(144)

我需要将一个文件或一些数据作为运行命令的一部分通过管道(注入)到docker中,并将其作为启动命令的一部分写入到容器中的一个文件中。有没有最佳实践方法可以做到这一点?
我试过了。

cat data.txt |  docker run -a stdin -a stdout -i -t ubuntu /bin/bash -c 'cat >/data.txt'

但似乎不能让它工作。

8ehkhllq

8ehkhllq1#

cat setup.json |  docker run -i  ubuntu /bin/bash -c 'cat'

对我很有效。去掉-t。也不需要-a。

jfgube3f

jfgube3f2#

更好的解决方案是让(挂载)你的主机文件夹可以被Docker容器访问。

docker run -v /Users/<path>:/<container path> ...

这里是/Users/<path>是您的主机上的一个文件夹和<container path>容器内的挂载路径。
另请参见Manage data in containers手册页。

更新另一个Accessing External Files from Docker Containers示例。

相关问题