简介
simple-dockerode 是一款便捷的 Node.js 模块,用于与 Docker 容器进行交互。它基于 Docker Remote API,使得开发者们可以通过简单的 JavaScript 代码实现 Docker 容器的创建、运行、停止、删除、查看等操作。此模块几乎支持所有 Docker Remote API 提供的功能,使用简单、易于扩展。
安装
使用 npm 进行简单的安装:
--- ------- ----------------
使用
在代码中引用模块:
----- ------ - ----------------------------
实例化 Docker 对象:
----- ------ - --- -------- ----------- ---------------------- ---
其中 socketPath 表示 Docker 的 socket 路径。
创建容器
使用 Docker.createContainer(option: object) 方法创建 Docker 容器。其中 option 包含了创建容器的参数。
示例代码:
----- ------ - - ------ -------- ------------- - --------- -- -- ----------- - ------------- - --------- -- --------- ------ -- - - -- ------------------------------ --------------- -- --------------- --------------- ------- ---------- -- -------------------- ----------
其中 Image 表示容器的镜像,ExposedPorts 表示容器的开放端口,HostConfig 表示容器的主机配置。
运行容器
使用 Docker.startContainer(container: object) 方法运行 Docker 容器。其中 container 表示 Docker.createContainer() 方法返回的容器对象。
示例代码:
-------------------------------- -------- -- --------------- --------------- ------- ---------- -- -------------------- ----------
停止容器
使用 Docker.stopContainer(container: object) 方法停止 Docker 容器。其中 container 表示 Docker.createContainer() 方法返回的容器对象。
示例代码:
------------------------------- -------- -- --------------- --------------- ------- ---------- -- -------------------- ----------
查看容器
使用 Docker.listContainers() 方法查看所有运行中的 Docker 容器。
示例代码:
----------------------- ---------------- -- - ---------------------------- -- --------------- --------------- ------- -- ---------- -- -------------------- --------------------------
删除容器
使用 Docker.removeContainer(container: object) 方法删除 Docker 容器。其中 container 表示 Docker.createContainer() 方法返回的容器对象。
示例代码:
--------------------------------- -------- -- --------------- --------------- ------- ---------- -- -------------------- ----------
总结
使用 simple-dockerode,我们可以通过简单的 JavaScript 代码实现 Docker 容器的创建、运行、停止、删除、查看等操作。此模块几乎支持所有 Docker Remote API 提供的功能,使用简单、易于扩展,具有很高的可用性和可读性。
参考资料
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60058a9681e8991b448ed398