首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Dockerode在分离模式下运行码头集装箱

用Dockerode在分离模式下运行码头集装箱
EN

Stack Overflow用户
提问于 2020-02-07 03:53:35
回答 1查看 1.2K关注 0票数 0

我使用Dockerode来使用以下run()方法触发Docker容器的执行。我怎样才能在分离模式下运行?

代码语言:javascript
复制
// Instantiate Docker
var Docker = require("dockerode");
var docker = new Docker({ socketPath: "/var/run/docker.sock" });

// Run Docker container
docker.run(
    "mobydq-scripts",
    ["python", "run.py", authorization, "test_data_source", dataSourceId.toString()],
    process.stdout,
    { name: "mobydq-test-data-source", HostConfig: { AutoRemove: true, NetworkMode: "mobydq_network" } },
    function(err, data, container) {
        // Do nothing
    }
);
EN

回答 1

Stack Overflow用户

发布于 2020-02-07 05:03:11

我们可以效仿他们的例子,这里

基本上,您需要创建一个容器,手动启动它,然后在内部运行exec来运行我们自己的脚本。

贷给https://github.com/apocas/dockerode/issues/106

编辑1:演示如何将该示例应用于用例的示例:

代码语言:javascript
复制
// Instantiate Docker
var Docker = require("dockerode");
var docker = new Docker({ socketPath: "/var/run/docker.sock" });

function runExec(container) {

  var options = {
    Cmd: ["python", "run.py", authorization, "test_data_source", dataSourceId.toString()],
    AttachStdout: true,
    AttachStderr: true
  };

  container.exec(options, function(err, exec) {
    if (err) return;
    exec.start(function(err, stream) {
      if (err) return;

      container.modem.demuxStream(stream, process.stdout, process.stderr);

      exec.inspect(function(err, data) {
        if (err) return;
        console.log(data);

        // Your code continue here
      });
    });
  });
}


docker.createContainer({
  Image: 'mobydq-scripts',
  Tty: true,
  Cmd: ['/bin/bash', '-c', 'tail -f /dev/null'],
  name: "mobydq-test-data-source",
  HostConfig: { AutoRemove: true, NetworkMode: "mobydq_network" }
}, function(err, container) {
  container.start({}, function(err, data) {
    runExec(container);
  });
});

您还可以查看他们的自述文件,在那里他们可以使用createContainerattach

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60106857

复制
相关文章

相似问题

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