2017-10-12 141 views
0

我有一個節點應用程序公開了一個REST API。當它收到一個http請求時,它啓動另一個/不同的節點應用程序,我們稱之爲「服務應用程序」。從Docker容器中運行的另一個節點應用程序啓動節點應用程序

REST應用程序在容器中運行,啓動服務應用程序的最簡單方法是調用child_process.exec(但我們只是pm2),但它們在相同的容器中運行。如果REST應用程序獲取多個請求,則這一個容器解決方案不會擴展。

那麼有可能REST應用程序可以啓動在其自己的容器內運行的服務應用程序?如果是的話該怎麼做?

有人還建議我在Docker Swarm中運行我的REST應用程序,以便它在獲取請求時爲服務應用程序啓動另一個Docker服務。但我不知道該怎麼做,甚至有可能?

我是新來的碼頭工人,任何意見是高度讚賞。謝謝!

回答

0

您可以通過將安裝/var/run/docker.sock文件綁定到容器本身(-v標誌到docker run)來控制容器內部的docker。但要非常小心,如果有人能夠訪問它,這或多或少會使他能夠訪問機器。最安全的方式是創建第二個REST應用程序,該應用程序在單獨的容器中運行,並可在被問到時啓動新的容器。然後,你可以從第一個應用程序調用它,並確保它將只啓動容器與您的應用程序,沒有別的。

相關問題