2017-09-27 10 views
0

次のコードは出力し:私は期待していた??? $VARdockerodeのCmd引数に環境変数を使用するには?

/を望んで:任意のヘルプや入力のための??? ttslkfjsdalkfj

container.exec(
    { 
    Cmd: ['echo', 'test $VAR'], 
    Env: ['VAR=ttslkfjsdalkfj'], 
    AttachStdout: true, 
    AttachStderr: true, 
    }, 
    (err, exec) => { 
    err && console.error(err); 
    exec.start({ hijack: true, stdin: false }, function(err, stream) { 
     docker.modem.demuxStream(stream, process.stdout, process.stderr); 
    }); 
    }, 
); 

感謝を。

答えて

1

echoバイナリではなく、変数を相互補完するシェルを実行します。

Cmd: ['sh','-c','echo test $VAR'] 

あなたは、エントリポイントなしでコンテナのコマンドラインを介して両方のコマンドをエミュレートすることができます:

○→ docker run -e VAR=testa debian echo test '$VAR' 
test $VAR 

○→ docker run -e VAR=testa debian sh -c 'echo test $VAR' 
test testa 
関連する問題