首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在dockerode的Cmd参数中使用环境变量?

如何在dockerode的Cmd参数中使用环境变量?
EN

Stack Overflow用户
提问于 2017-09-27 18:47:35
回答 1查看 321关注 0票数 0

下面的代码输出: ??? $VAR

我期待/希望的 ??? ttslkfjsdalkfj

代码语言:javascript
复制
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);
    });
  },
);

谢谢您的帮助和意见。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-28 10:57:33

执行一个插入变量的shell,而不是echo二进制文件。

代码语言:javascript
复制
Cmd: ['sh','-c','echo test $VAR']

您可以在没有入口点的情况下通过容器上的命令行模拟这两个命令:

代码语言:javascript
复制
○→ docker run -e VAR=testa debian echo test '$VAR'
test $VAR

○→ docker run -e VAR=testa debian sh -c 'echo test $VAR'
test testa
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46455153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档