我需要将一个文件或一些数据作为运行命令的一部分通过管道(注入)到docker中,并将其作为启动命令的一部分写入到容器中的一个文件中。有没有最佳实践方法可以做到这一点?我试过了。
cat data.txt | docker run -a stdin -a stdout -i -t ubuntu /bin/bash -c 'cat >/data.txt'
但似乎不能让它工作。
8ehkhllq1#
cat setup.json | docker run -i ubuntu /bin/bash -c 'cat'
对我很有效。去掉-t。也不需要-a。
jfgube3f2#
更好的解决方案是让(挂载)你的主机文件夹可以被Docker容器访问。
docker run -v /Users/<path>:/<container path> ...
这里是/Users/<path>是您的主机上的一个文件夹和<container path>容器内的挂载路径。另请参见Manage data in containers手册页。
/Users/<path>
<container path>
更新另一个Accessing External Files from Docker Containers示例。
2条答案
按热度按时间8ehkhllq1#
对我很有效。去掉-t。也不需要-a。
jfgube3f2#
更好的解决方案是让(挂载)你的主机文件夹可以被Docker容器访问。
这里是
/Users/<path>
是您的主机上的一个文件夹和<container path>
容器内的挂载路径。另请参见Manage data in containers手册页。
更新另一个Accessing External Files from Docker Containers示例。