我用分子来做微服务。实际上,我不知道如何在码头容器中公开度量端口(3030),以便能够从http://host:3030/metrics读取度量
当应用程序被执行时,我的本地主机运行得很好,但是当部署到坞-合成-构建-up时,它就不起作用了。
我的船坞组成了traefik区
traefik:
image: traefik:v2.1
command:
- "--api.insecure=true" # Don't do that in production!
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
ports:
- 3000:80
- 3001:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- internal
- default谢谢你的帮助
全对接者-合成人
version: "3.3"
services:
api:
build:
context: .
image: moleculer-akwa
env_file: docker-compose.env
environment:
SERVICES: api
PORT: 3000
depends_on:
- nats
labels:
- "traefik.enable=true"
- "traefik.http.routers.api-gw.rule=PathPrefix(`/`)"
- "traefik.http.services.api-gw.loadbalancer.server.port=3000"
networks:
- internal
firebase:
build:
context: .
image: moleculer-akwa
env_file: docker-compose.env
environment:
SERVICES: firebase
depends_on:
- nats
networks:
- internal
kafka:
build:
context: .
image: moleculer-akwa
env_file: docker-compose.env
environment:
SERVICES: kafka
depends_on:
- nats
networks:
- internal
mailer:
build:
context: .
image: moleculer-akwa
env_file: docker-compose.env
environment:
SERVICES: mailer
depends_on:
- nats
networks:
- internal
sms:
build:
context: .
image: moleculer-akwa
env_file: docker-compose.env
environment:
SERVICES: sms
depends_on:
- nats
networks:
- internal
io:
build:
context: .
image: moleculer-akwa
env_file: docker-compose.env
environment:
SERVICES: io
PORT: 5000
depends_on:
- nats
networks:
- internal
nats:
image: nats:2
networks:
- internal
traefik:
image: traefik:v2.1
command:
- "--api.insecure=true" # Don't do that in production!
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
ports:
- 3000:80
- 3001:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- internal
- default
networks:
internal:
volumes:
data:更新:在我的本地机器上运行npm run dev时,我可以访问http://localhost:3030/metrics的度量url来获取所有正在运行的微服务的度量标准。但是,当我将代码部署到容器(上面的docker-Compose.yml)时,应用程序在http://host:3000上运行得很好,但是http://localhost:3030/是不可访问的。我禁用了防火墙,但没有成功,我在docker-come.yml文件中的traefik部分添加了端口映射3030:3030,但什么也没有。
ports:
- 3000:80
- 3001:8080
- 3030:3030谢谢你的帮助和耐心
发布于 2021-03-19 08:01:33
最后在api服务声明中的docker-compose.yml中获得了它: 3030:3030
api:
build:
context: .
environment:
SERVICES: api
PORT: 3000
depends_on:
- nats
ports:
- 3030:3030
labels:
- "traefik.enable=true"
- "traefik.http.routers.api-gw.rule=PathPrefix(`/`)"
- "traefik.http.services.api-gw.loadbalancer.server.port=3000"
networks:
- internal谢谢
发布于 2021-03-11 16:00:13
你用普罗米修斯做出口商吗?如果是这样的话,请检查https://github.com/AndreMaz/moleculer-prometheus-demo
https://stackoverflow.com/questions/66583822
复制相似问题