我有一个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" ]
答案 0 :(得分:0)
您需要链接容器。此外,当containera与containerb对话时,它将使用http://container-name而不是http://localhost,因此您的代码应该考虑到这一点。当您使用链接时,您会注意到容器中的docker会在hosts文件中添加一个条目来实现此效果。使用环境变量,以便您可以使要求灵活的域名。并在运行容器时传递此环境变量
确保您在容器之间暴露正确的端口