Обратиться к контейнеру из интернета

У меня есть docker-compose. В нём есть контейнеры.

 version: '3'

networks:
  web:
    external: true

services:
  grader-v2-storage:
        env_file:
            - test.env
        image: "84.201.149.110:443/grader-v2-storage:1.21.1speed"
        restart: always
        networks:
            - web
        labels:
            - "traefik.enable=true"
            - "traefik.backend=grader-v2-storage"
            - "traefik.port=52052"
            - "traefik.docker.network=web"
  grader-v2-auth-service:
        env_file:
            - test.env
        image: "84.201.149.110:443/grader-v2-auth-service:1.1.1"
        restart: always
        networks:
            - web
        labels:
            - "traefik.enable=true"
            - "traefik.backend=grader-v2-auth-service"
            - "traefik.frontend.rule=Host:a.fless.pro"
            - "traefik.port=61295"
            - "traefik.docker.network=web"
  traefik:
    image: traefik:1.7.24
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./traefik/traefik.toml:/etc/traefik/traefik.toml:ro
      - ./traefik/acme:/etc/traefik/acme
    networks:
      - web
    ports:
     - "80:80"
     - "443:443"
     - "8080:8080"

Внутри сети docker я обращаюсь к ним по именам контейнеров. Как обратиться к ним из интернета, если не задан домен?


Ответы (1 шт):

Автор решения: hedgehogues

Для решения проблемы следует замапить порты, которые должны наружу торчать:

        ports:
            - 52052:52052

Пример compose:

version: '3'

networks:
  web:
    external: true

services:
  grader-v2-storage:
        env_file:
            - test.env
        image: "84.201.149.110:443/grader-v2-storage:1.21.1speed"
        restart: always
        ports:
            - 52052:52052
        networks:
            - web
        labels:
            - "traefik.enable=true"
            - "traefik.backend=grader-v2-storage"
            - "traefik.port=52052"
            - "traefik.docker.network=web"
  grader-v2-auth-service:
        env_file:
            - test.env
        image: "84.201.149.110:443/grader-v2-auth-service:1.1.1"
        restart: always
        networks:
            - web
        labels:
            - "traefik.enable=true"
            - "traefik.backend=grader-v2-auth-service"
            - "traefik.frontend.rule=Host:a.fless.pro"
            - "traefik.port=61295"
            - "traefik.docker.network=web"
  traefik:
    image: traefik:1.7.24
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./traefik/traefik.toml:/etc/traefik/traefik.toml:ro
      - ./traefik/acme:/etc/traefik/acme
    networks:
      - web
    ports:
     - "80:80"
     - "443:443"
     - "8080:8080"
→ Ссылка