如何让docker容器从标准input读取?

我有一个脚本,我想用它来使用Sigil(基于Go的模板引擎)来填充模板文件

我正在使用dockerized的sigil来做这件事:

docker run -v ${TEMPLATE_DIR}:/tmp/sigil mikegrass/gliderlabs_sigil-docker/sigil -f prometheus-configmap.yaml -p API_SERVER=$api_server_url > $TEMP_FILE 

这不得不映射一个卷,所以我宁愿使用STDIN来传递文件….

所以我想要的是

 cat ./prometheus-configmap.yaml | docker run mikegrass/gliderlabs_sigil-docker -p API_SERVER=$api_server_url > $TEMP_FILE 

不幸的是,这是行不通的,我没有输出。

在我看来可能的解决scheme,但没有得到任何工作…

有什么build议么?

谢谢

您需要以交互模式运行容器--interactive-i

 cat ./prometheus-configmap.yaml | docker run -i mikegrass/gliderlabs_sigil-docker -p API_SERVER=$api_server_url > $TEMP_FILE