How to connect my NodeJS with my Angular (in Nginx)

后端 未结 2 519
孤街浪徒
孤街浪徒 2021-01-07 03:09

I\'ve a repo with angular and nodejs. I performed in jenkins:

# install globally
npm install -g bower
npm install -g gulp

# install
bower install
npm insta         


        
2条回答
  •  刺人心
    刺人心 (楼主)
    2021-01-07 03:32

    You need to expose the port of the node.js container to which nginx(angular) container will connect. See the Connect using network port mapping section of docker documentation.

    Update : I think, you need to configure the nginx configuration file to the node container. This question has sample nginx file related to your use case (although, not related to containers).

    Edit : To map the node app with the nginx, you first need to link the node container with nginx container.

    docker run -d -p 80:80 --name "nginx" --link nodejs:nodejs localhost:5000/test/nginx:1
    

    When you link the node container with the nginx container, the node container's address will be saved in the /etc/hosts. So the nginx container can access the node's address from there.

    So, in nginx configuration file, the nodejs will be accessible as nodejs' container address:

    http {
    
            upstream node-app {
                  server nodejs:8888 weight=10 max_fails=3 fail_timeout=30s;
            }
    
            server {
                  listen 80;
    
                  location / {
                    proxy_pass http://node-app;
                    proxy_http_version 1.1;
                    proxy_set_header Upgrade $http_upgrade;
                    proxy_set_header Connection 'upgrade';
                    proxy_set_header Host $host;
                    proxy_cache_bypass $http_upgrade;
                  }
            }
    }
    

提交回复
热议问题