在Docker容器中启动多个服务

时间:2017-03-07 21:01:14

标签: node.js nginx docker dockerfile

在我的Dockerfile中,我有以下内容:

SELECT x.jobNumber, l.* FROM
(
SELECT lead_id, ExtractValue(xml_response, '//jobNumber') as jobNumber
from xml_table
WHERE status = 1
) x

JOIN leads l on x.lead_id = l.lead_id 

WHERE jobNumber IN (87242345,87441456)

这样做,节点服务器正在运行,但不是nginx。同样,如果我做了类似的事情:

# Start app and proxy
CMD service nginx start
CMD ["nodejs", "/src/index.js"]

然后nginx正在运行,但不是Node。

我忽略了一些明显的事情吗?

2 个答案:

答案 0 :(得分:1)

我认为您可以使用docker-compose拆分问题。

您的节点应用程序将获得一个包含nginx图像和一个容器app的容器。

然后只需运行docker-compose up

答案 1 :(得分:0)

您可以使用Docker旧版链接:

  1. 在nginx文件夹docker build -t docker-nginx .
  2. 在节点文件夹docker build -t docker-node .
  3. docker run -d --name app docker-node
  4. docker run -d --name nginx --link app:app docker-nginx
  5. 然后指向nginx配置文件中的 app 。与app:3000

    一样

    您还可以使用docker-compose,这将简化图像构建和容器运行。结帐documentation