我有一个 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 来完成此操作。
如何在本地运行这些容器并同时将它们公开到万维网?
要将容器公开到互联网,您可以使用 ngrok 或类似的服务。 Ngrok 创建一个到本地计算机的安全隧道,并提供一个公共 URL,将请求转发到本地运行的容器。
下载 ngrok 并将其安装到本地计算机。 启动本地容器后,运行 ngrok,指定容器正在侦听的端口。
在您的示例中,开发环境使用端口 9000。 ngrok 命令为:ngrok http 9000。
Ngrok 将生成一个公共 URL(例如,https://randomqwe.ngrok.io),您可以使用它从互联网上的任何位置访问本地运行的容器。
ngrok 链接:https://ngrok.com/