假设我有两个Web服务,说它们是 var canvas = document.getElementById('my_canvas');
var tempCanvas = document.getElementById('temp_canvas'); // use style display : none for this temp element
var ctx = canvas.getContext('2d');
var tempCtx = tempCanvas.getContext('2d');
var imageObj = new Image();
ctx.canvas.width = 350;
ctx.canvas.height = 450;
imageObj.onload = function() {
ctx.drawImage(imageObj, 0, 0,100,100);
tempCtx.drawImage(imageObj, 0, 0,100,100);
};
imageObj.src = 'https://davidwalsh.name/demo/ringo-ftw.jpg';
var base64 = tempCanvas.toDataURL();
和w1
,它们是由docker-compose部署的。
现在,我想为它们中的每个创建多个容器,并在它们前面创建一个负载平衡器,以使此服务可以访问:
w2
我搜索了,得到了dockercloud-haproxy和nginx-proxy。
但是,不建议使用前者,而后者必须与主机名一起使用以区分不同的服务。
设置不同的主机尤其复杂,尤其是在开发环境中。
然后我找到了traefik。似乎更可配置。这是我使用的配置文件:
http://localhost:8880 //for service w1
http://localhost:8888 //for service w2
虽然仍然不能满足我的要求。
这可能是其他解决方案吗?
答案 0 :(得分:0)
您需要在w1和w2下添加匹配器-"traefik.frontend.rule=PathPrefixStrip:/"
。否则,默认为Host:w1.project_name
。
此外,我相信jwilder / whoami使用端口8000而不是8080,因此将- "traefik.port=8080"
更改为- "traefik.port=8000"