如何将我的 docker 容器暴露到互联网?

问题描述 投票:0回答:1

我有一个 docker compose 文件,如下所示:

version: '3'

services:
  foobar_dev:
    image: foobar/foobar:latest
    environment:
      FOOBAR_DIST_MODE: "master"
      FOOBAR_DIST_MASTER_URL: "tcp://[email protected]:4200"
    volumes:
      - foobar_instance1_data:/opt/foobar/etc
    ports:
      - "9000:9000"  # Map port 9000 of the container to port 9000 on localhost for instance 1

  foobar_prod:
    image: foobar/foobar:latest
    environment:
      FOOBAR_DIST_MODE: "master"
      FOOBAR_DIST_MASTER_URL: "tcp://[email protected]:4201"  # Use a different port for instance 2
    volumes:
      - foobar_instance2_data:/opt/foobar/etc
    ports:
      - "9001:9000"  # Map port 9000 of the container to port 9001 on localhost for instance 2

volumes:
  foobar_instance1_data:
  foobar_instance2_data:

我希望容器与 bitbucket 通信,因为我想设置 GitOps,为此,容器将通过 ssh 来完成此操作。

如何在本地运行这些容器并同时将它们公开到万维网?

docker networking localhost ip gitops
1个回答
0
投票

要将容器公开到互联网,您可以使用 ngrok 或类似的服务。 Ngrok 创建一个到本地计算机的安全隧道,并提供一个公共 URL,将请求转发到本地运行的容器。

下载 ngrok 并将其安装到本地计算机。 启动本地容器后,运行 ngrok,指定容器正在侦听的端口。

在您的示例中,开发环境使用端口 9000。 ngrok 命令为:ngrok http 9000。

Ngrok 将生成一个公共 URL(例如,https://randomqwe.ngrok.io),您可以使用它从互联网上的任何位置访问本地运行的容器。

ngrok 链接:https://ngrok.com/

© www.soinside.com 2019 - 2024. All rights reserved.