如何在Docker容器中配置Node App和haProxy?

时间:2019-12-05 09:40:34

标签: node.js docker docker-compose dockerfile haproxy

我试图在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" ]

谢谢

0 个答案:

没有答案