我试图在ubuntu VM中配置我的节点应用程序(将可扩展)和haProxy docker容器。 我不明白它是如何工作的?我必须如何配置docker-compose文件才能使其正常工作。 我的节点应用程序在8080端口上工作,我可以在浏览器中看到一个(通过端口绑定从VM(来宾:80到主机:8080),或者在chrome中打开VM ip),但是我没有在dockerfile中公开他(端口8080)或docker-compose。应该是这样吗?
由于应用程序可在8080端口上工作,因此我必须使用haproxy将他绑定到虚拟机中的另一个端口(例如8080),但是仅当我将80绑定到80时,它才能工作?我在此端口上没有应用程序。 我的docker-compose
version: "3"
services:
node:
build:
context: .
dockerfile: dockerfile
user: "node"
networks:
- back-tier
working_dir: /home/node/app
environment:
- NODE_ENV=production
volumes:
- ./:/home/node/app
lb:
image: 'dockercloud/haproxy:latest'
links:
- node
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 80:80 #(node work on port 8080)
networks:
- front-tier
- back-tier
depends_on:
- node
environment:
- BALANCE=leastconn
networks:
front-tier:
driver: bridge
back-tier:
driver: bridge
internal: true
我的网络应用dockerfile
FROM node:12.13.1-alpine3.10
WORKDIR /home/node/app
RUN npm install -g nodemon
#RUN npm install
CMD [ "nodemon", "index.js" ]
谢谢