after many hours research I found it
app-test-1:
build:
context: /opt/my-app
dockerfile: ~/scripts/docker/Dockerfile
image: myapp:build1
container_name: app-test-1
networks:
- backend
environment:
- PORT=3000
- METEOR_SETTINGS
ports:
- 3000:3000
labels:
- traefik.enable=true
- traefik.docker.network=backend
- traefik.http.routers.app-test.rule=Host(`test.mydomain.com`)
- traefik.http.routers.app-test.entrypoints=web
- traefik.http.services.app-test.loadbalancer.server.port=3000
- traefik.http.services.app-test.loadbalancer.sticky=true
app-test-2:
build:
context: /opt/my-app
dockerfile: ~/scripts/docker/Dockerfile
image: myapp:build1
container_name: app-test-2
networks:
- backend
environment:
- PORT=3002
- METEOR_SETTINGS
ports:
- 3002:3002
labels:
- traefik.enable=true
- traefik.docker.network=backend
- traefik.http.routers.app-test.rule=Host(`test.mydomain.com`)
- traefik.http.routers.app-test.entrypoints=web
- traefik.http.services.app-test.loadbalancer.server.port=3002
- traefik.http.services.app-test.loadbalancer.sticky=true
if you using you need define every container