下面的代码输出: ??? $VAR
我期待/希望的: ??? 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);
});
},
);谢谢您的帮助和意见。
发布于 2017-09-28 10:57:33
执行一个插入变量的shell,而不是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 testahttps://stackoverflow.com/questions/46455153
复制相似问题