如何组合Nginx和NodeJS Docker容器

时间:2016-01-19 11:50:35

标签: angularjs node.js nginx docker dockerfile

我有一个nodejs容器,它托管我的后端,我有一个nginx容器,它托管我的Angular。

他们都工作正常。我可以访问我的nodeJS容器,并且我可以访问我的Nginx容器。

问题是容器之间似乎没有连接。 nginx容器只托管/ dist文件夹,其中包含来自NodeJS的角度但没有任何内容。

您是否必须为此编辑print data[0] /etc/nginx/nginx.conf命令?

我在某处读到你的nodejs和nginx会自动绑定。

我的后端正在运行8888,前端是8080.

nginx dockerfile(npm install等已在jenkins中执行)

--link

Nodejs dockerfile

FROM nginx
COPY dist /usr/share/nginx/html/dist

FROM node

我通过执行:

启动它们
RUN mkdir -p /usr/src/test
WORKDIR /usr/src/test 

COPY node_modules /usr/src/test/
COPY server.js /usr/src/test/

EXPOSE 8080
CMD [ "node", "server.js" ]

1 个答案:

答案 0 :(得分:0)

您需要链接容器。此外,当containera与containerb对话时,它将使用http://container-name而不是http://localhost,因此您的代码应该考虑到这一点。当您使用链接时,您会注意到容器中的docker会在hosts文件中添加一个条目来实现此效果。使用环境变量,以便您可以使要求灵活的域名。并在运行容器时传递此环境变量

确保您在容器之间暴露正确的端口