我正在尝试了解负载均衡器。
我已经在digitalOcean上创建了VM,
我还通过腻子连接到了该虚拟机。
做一些类似安装docker和git的事情。
我在18.04上的Ubuntu Docker 5:19.03.1〜3上运行,这是最便宜的VM。
这两个节点运行良好,我已经通过邮递员检查了它并得到了响应,但是每当我尝试通过vm-ip:80 ping时,都会出现超时。
用于创建nginx的表彰
docker run -d -p 80:80 --name nginx-micro nginx-micro
用于创建nodejs的奖状
docker run -d -p 5003:2222 --name hello1 hello
docker run -d -p 5004:2222 --name hello2 hello
用于nginx映像的Dockerfile
FROM nginx
COPY nginx.conf /etc/nginx/conf.d/default.conf
nginx.conf
upstream welcome {
least_conn;
server vm-ip:5003;
server vm-ip:5004;
}
server {
location / {
proxy_pass http://welcome;
}
}
Dockerfile node.js
FROM mhart/alpine-node
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm install
COPY . .
EXPOSE 2222
CMD [ "node", "server.js" ]
node.js
const express = require('express');
const os = require('os');
app.get('/', (req, res) => res.send(os.hostname()));
app.listen(port, () => console.log(`Example app listening on port ${port}!`));
我希望在这两个节点之间分配请求。 来自docker的日志显示110次尝试连接到上游。
我正确吗? 有没有更好的解决方案? 你有什么提示吗?
主题: 网关应该位于负载均衡器容器之前还是之后?