Comment faire en sorte que le conteneur Docker lise depuis stdin?

J’ai un script que je veux utiliser pour utiliser Sigil (basé sur le moteur de template de Go) pour remplir les fichiers de template

J’utilise un sigil dockerized pour cela via:

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

Cela semble un peu fastidieux de devoir mapper un volume, je préfère donc utiliser STDIN pour passer dans le fichier ….

Alors ce que j’aimerais c’est

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

Malheureusement, cela ne fonctionne pas, je n’obtiens aucune sortie.

En cherchant sur Google, je vois des solutions possibles, mais je n’en ai aucune qui fonctionne …

Aucune suggestion?

Merci

Vous devez exécuter le conteneur en mode interactif avec --interactive ou -i :

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