@AdaMorgan

Как получить удалённый доступ к http контейнеру?

Здравствуй, мы с другом разрабатываем небольшой http сервис, и возник вопрос удобства совместной разработки. Самый удобный способ который бы я хотел, это возможность отправления http запросов с удалённого клиента. Следовательно, хотелось бы услышать опытных людей, я знаю есть вариант покупки статического IP адреса и подключения через порт, но возможно есть другие способы моему другу отправлять http запрос с его клиента, на мой backend который располагается в контейнере Docker?
  • Вопрос задан
  • 115 просмотров
Решения вопроса 2
2ord
@2ord
Есть способ, который подходит только временно. Не для продакшена.
С агентом Ngrok (обычно доступен в репозиториях) или его альтернативами:
агент запускается локально и создает тоннель на локально работающий веб-сервер или другой сервис, работающий на определенном порту.
Контейнер Докера должен пробросить порт приложения. Скажем, порт 3000.
spoiler

NAME:
  ngrok - tunnel local ports to public URLs and inspect traffic

USAGE:
  ngrok [command] [flags]

DESCRIPTION: 
  ngrok exposes local networked services behinds NATs and firewalls to the
  public internet over a secure tunnel. Share local websites, build/test
  webhook consumers and self-host personal services.
  Detailed help for each command is available with 'ngrok help <command>'.
  Open http://localhost:4040 for ngrok's web interface to inspect traffic.

Author:
  ngrok - <support@ngrok.com>

TERMS OF SERVICE: https://ngrok.com/tos

EXAMPLES: 
  ngrok http 80                           # secure public URL for port 80 web server
  ngrok http --domain baz.ngrok.dev 8080  # port 8080 available at baz.ngrok.dev
  ngrok http foo.dev:80                   # tunnel to host:port instead of localhost
  ngrok http https://localhost            # expose a local https server
  ngrok tcp 22                            # tunnel arbitrary TCP traffic to port 22
  ngrok tls --domain=foo.com 443          # TLS traffic for foo.com to port 443
  ngrok start foo bar baz                 # start tunnels from the configuration file

COMMANDS:
  api                            use ngrok agent as an api client
  completion                     generates shell completion code for bash or zsh
  config                         update or migrate ngrok's configuration file
  credits                        prints author and licensing information
  diagnose                       diagnose connection issues
  help                           Help about any command
  http                           start an HTTP tunnel
  service                        run and control an ngrok service on a target operating system
  start                          start tunnels by name from the configuration file
  tcp                            start a TCP tunnel
  tls                            start a TLS tunnel
  tunnel                         start a tunnel for use with a tunnel-group backend
  update                         update ngrok to the latest version
  version                        print the version string

OPTIONS:
      --config strings    path to config files; they are merged if multiple
  -h, --help              help for ngrok
      --metadata string   opaque user-defined metadata for the tunnel session
  -v, --version           version for ngrok

Ответ написан
Комментировать
@Drno
Ну либо Вы выносите сервис на внешний IP.
Либо используете VPN или mesh сеть - например Zerotier
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
В данном случае правильнее будет:
  1. Создать для каждого проекта свой репозиторий
  2. Настроить логирование, сборку, запуск и остановку проектов в режиме разработки
  3. В процессе разработки вытягивать обновления из репозиториев и перезапускать проекты
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы