我计划在 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 update
或 Dockerfile
时,可以制作 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/