简介
dockerode
是一个 Node.js 的 npm 包,它提供了对 Docker 引擎进行编程式访问的 API。使用该包,可以通过 JavaScript 代码自动化执行 Docker 操作,例如创建、启动、停止和删除容器。本文将详细介绍如何使用 dockerode
包。
安装
首先需要安装 Node.js 和 Docker 引擎。然后可以在命令行中使用以下命令来安装 dockerode
包:
npm install dockerode
连接到 Docker 引擎
在使用 dockerode
之前,需要连接到 Docker 引擎。可以使用以下代码来建立连接:
const Docker = require('dockerode'); const docker = new Docker({ socketPath: '/var/run/docker.sock' });
这里使用 Unix 套接字(Unix socket)连接到 Docker 引擎。当然,也可以使用 TCP 连接。
创建容器
接下来,我们将创建一个新的容器。以下是示例代码:
const container = await docker.createContainer({ Image: 'alpine', Cmd: ['/bin/sh', '-c', 'echo "Hello, world!"'], });
这里使用 createContainer
方法创建一个名为 alpine
的镜像,并在其中运行 /bin/sh -c 'echo "Hello, world!"'
命令。
启动容器
现在,我们已经创建了容器,但它还没有启动。可以使用以下代码来启动它:
await container.start();
获取容器日志
要获取容器的日志,可以使用以下代码:
-- -------------------- ---- ------- ----- --------- - ----- ---------------- ------- ----- ------- ----- ------- ----- --- -------------------- ------- -- - ------------------------------ ---
这里使用 logs
方法获取容器的日志输出流,并将其转储到控制台。
停止容器
停止容器很简单。只需使用以下代码:
await container.stop();
删除容器
最后,可以使用以下代码删除容器:
await container.remove();
结论
本文详细介绍了如何使用 dockerode
包进行编程式访问 Docker 引擎。通过创建、启动、停止和删除容器等操作,可以自动化执行 Docker 操作。dockerode
提供了非常方便的 API,以便于在 Node.js 中使用 Docker 引擎。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/47750