node.js - Docker容器在主机上生成Docker容器

标签 node.js docker

我有一个生成docker容器的节点js服务器。我想将该节点js服务器放置在docker容器上,但如果这样做,服务器将在其容器内生成容器。
如何为服务器在主机上生成容器?

最佳答案

您主机上的Docker守护程序会监听/var/run/docker.sock
如果将该套接字安装在Docker容器中,则基本上在容器内执行的docker命令将从主机发送到docker守护程序。
一个简单的示例是从docker图像运行容器并播放:

docker run -ti -v /var/run/docker.sock:/var/run/docker.sock docker

// Create a new container from the container
# docker run alpine

// List the containers running on the host, from the container:
docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES
b6f70442d667        alpine              "/bin/sh"                3 seconds ago       Exited (0) 2 seconds ago                       nifty_sinoussi
0cd034af9ebc        docker              "docker-entrypoint.s…"   8 minutes ago       Up 8 minutes                                   determined_raman
请注意,虚拟 Alpine 容器是在主机上创建的。退出docker容器并检查主机上的alpine容器:
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES
b6f70442d667        alpine              "/bin/sh"                2 minutes ago       Exited (0) 2 minutes ago                       nifty_sinoussi
0cd034af9ebc        docker              "docker-entrypoint.s…"   11 minutes ago      Exited (0) 3 seconds ago                       determined_raman

关于node.js - Docker容器在主机上生成Docker容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63576523/

相关文章:

node.js - sequelize.js 中的动态默认范围

javascript - 删除/替换 Unicode 字符 javascript

node.js - 在 express.js 中渲染一些 View 和 404 个其他 View

javascript - 如何使用nodejs获取异步数据

Docker 社区应用程序修复重命名为 Mac OSX 主目录

postgresql - Prometheus PostgreSQL 服务器导出器示例无法在 MacOS 上运行?

javascript - 如何在 JavaScript 中正确解码 Base64 字符串

mysql - 无法使用数据库:create when I try to configure CartoDB

docker - Hasura 操作处理程序不存在(名称或服务未知)

linux - 安装到 linux docker 容器卷的 Windows 文件夹不显示所有文件夹