我计划在 docker 中运行我的应用程序。我想在 docker 容器上动态启动、停止、构建、运行命令……。我找到了一个名为 dockerode 的工具。 Here 是项目仓库。这个项目有文档,但我不是很了解。我想了解几件事。这是构建图像的方法

docker.createContainer({Image: 'ubuntu', Cmd: ['/bin/bash'], name: 'ubuntu-test'}, function (err, container) {
  container.start(function (err, data) {
    //...
  });
});
当我们在构建期间使用 RUN apt-get updateDockerfile 时,可以制作 RUN ADD /path/host /path/docker 吗?构建后如何将我的应用程序移动到容器中?
让我们看看这段代码:
//tty:true
docker.createContainer({ /*...*/ Tty: true /*...*/ }, function(err, container) {

  /* ... */

  container.attach({stream: true, stdout: true, stderr: true}, function (err, stream) {
    stream.pipe(process.stdout);
  });

  /* ... */
}
我怎么知道我可以在这里放多少参数 { /*...*/ Tty: true /*...*/ }
有人也试过这个包吗?请帮我开始。

最佳答案

Dockerode 只是 Docker API 的节点包装器。您可以在 api 文档中找到可用于每个命令的所有参数。
例如 docker.createContainer 将调用 POST/containers/create (文档在这里: https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#/create-a-container )
检查 dockerode repo 的 lib 文件夹中的文件,以查看每个 dockerode 方法包装了哪些 api 命令。

关于docker - 如何开始使用 dockerode,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39948747/

10-12 22:59