如何让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