将文件放入docker运行

作为运行命令的一部分,我需要将一个文件或一些数据pipe道(注入)到docker中,并将其作为启动的一部分写入容器中的文件。 有最佳做法的方式来做到这一点?

我已经试过了

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

但似乎无法得到它的工作。

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

这对我有效。 删除-t。 不需要-a的。

更好的解决scheme是使(托pipe)你的主机文件夹可以被docker容器访问。 像这样

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

这里是/Users/<path>是你主机上的一个文件夹,并且是<container path>内的<container path>装载path。

另请参阅pipe理容器手册页面中的数据 。

更新另一个从Docker Containers访问外部文件的例子。