首页 > 解决方案 > 从一个容器 NodeJs 调用 nmap

问题描述

撰写文件:

version: '3'
networks:
  frontend:
    driver: bridge

services:

### Workspace Utilities ##################################
    workspace:
      build:
        context: ./workspace
      volumes:
        - './app/:/home/app'
      networks:
        - frontend  

### NMAP ###############################################

    nmap:
      build:
        context: ./nmap
      networks:
        - frontend     
      links:
        - workspace  

在我的第一个容器中,我在第二个容器 Nmap 中有一个 Nodejs 和 PM2 中的应用程序。在我的应用程序中,现在我简单地调用:

exec('nmap -A 192.168.1.1/24 oX test.xml', (error, stdout, stderr) => {
   .....
 });

如何使用我的第一个容器中的第二个容器中的 nmap?

标签: node.jsdocker

解决方案


你不能。两个容器相互隔离。(想象一下它们是两个物理上独立的系统;你如何让一个系统在另一个系统上运行命令?)

如果第二个程序对第一个程序的操作是不可或缺的,则您需要构建一个映像并将该工具安装到映像中。


推荐阅读