【发布时间】:2020-04-30 16:31:07
【问题描述】:
它可能与 Accessing container on port 3000 thru traefik 重复,但此解决方案适用于 v1 的 traefik。
大家好,目前我正在开发两个东西:
- 在端口 3001 上响应应用程序
- 端口 3000 上的节点应用程序
稍后他们将在同一个域上工作,我希望在开发时以这种方式工作。
我决定为这个需要开始自己的 traefik ..
version: '3.7'
services:
traefik:
image: traefik:v2.2
command:
- --api.insecure=true
# Docker
- --providers.docker
- --providers.docker.exposedByDefault=false
- --providers.docker.network=internal
- --entrypoints.web.address=:80v02.api.letsencrypt.org/directory
# Config
- --accesslog=true
ports:
- "80:80"
- "8080:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
whoami:
image: emilevauge/whoami
labels:
- "traefik.http.routers.whoami.rule=Host(`whoami.docker.localhost.test`)"
- "traefik.enable=true"
api:
container_name: api
build:
context: .
target: development
labels:
#- "traefik.http.services.api-service.loadbalancer.server.port=3000"
- "traefik.http.routers.api-router.rule=Host(`api.brainstoo.localhost.test`)"
- "traefik.enable=true"
现在我可以通过 url 访问我的 api:api.brainstoo.localhost.test:3000 但我想在没有端口的情况下直接使用 api.brainstoo.localhost.test 访问它。 我是否评论或取消评论 ** #- "traefik.http.services.apiservice.loadbalancer.server.port=3000"** 行没有任何改变。
我不知道我做错了什么。可能我不太明白 traefik 能不能解决这类问题。
注意:我已经配置了我的 /etc/hosts 文件
提前致谢。
【问题讨论】:
-
将负载均衡器设置为 80 会导致 IP 冲突吗?
#- "traefik.http.services.api-service.loadbalancer.server.port=80" -
不,它没有,但是我在哪里可以检查是否存在冲突?好像没有错误
标签: node.js docker port traefik