【问题标题】:Call nmap from one container NodeJs从一个容器 NodeJs 调用 nmap
【发布时间】:2019-03-04 19:51:43
【问题描述】:

编写文件:

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.js docker


    【解决方案1】:

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

    如果第二个程序与第一个程序的操作不可分割,您需要构建一个映像并将该工具安装到映像中。

    【讨论】:

    • 使用音量怎么样?你知道便携式 nmap 之类的东西:D
    • 嗯好的,所以我必须在一个映像中安装所有内容,这很简单,但是其他容器如何在它们之间进行通信。比如 laradock 和 apache、mysql ecc?
    • 卷用于存储数据,而不是代码,您不能使用它们访问另一个图像中的任意内容。 (--volumes-from 可能通常是错误的,如果您正在查看它,您应该选择一种更好的方式在服务之间进行通信。)
    • 各种samples in the Docker documentation 可能是多容器应用程序的一个很好的起点,几乎任何docker-compose 问题都是如此。
    猜你喜欢
    • 1970-01-01
    • 2016-06-20
    • 2021-09-10
    • 2017-10-11
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 2017-11-15
    • 1970-01-01
    相关资源
    最近更新 更多