Skip to main content

通过本地主机连接

当您的本地PagePlug在同一系统上运行时,您可以使用host.docker.internalngrok连接到在本地主机上或作为其他 docker 容器运行的数据库、API 和服务

方法一:使用host.docker.internal

您可以使用它host.docker.internal来连接数据库/API/其他运行在localhost

  • 对于 Linux 系统,您需要提供一个运行标志 add-host
--add-host=host.docker.internal:host-gateway
只有较新版本的 Docker 才支持 host-gateway,它被转换为 Docker 默认桥接网络 IP(或主机的虚拟 IP)。
  • 运行以下命令来测试并确保显示主机文件中的 IP 地址。
run —-rm -—add-host=host.docker.internal:host-gateway
  • 对于 Linux 上的 Docker Compose,您需要手动将其添加到docker-compose.yaml文件中。用于extra hosts添加条目如下:
extra_hosts:
- "host.docker.internal:host-gateway"

方法二:使用ngrok

PagePlug 允许您localhostngrok. 但是必须进行ngrok相同的设置。

1)设置Ngrok

要设置“ngrok”——前提必须在ngrok上注册(它是免费的!)。按照说明连接您的帐户。

2)连接本地主机

按照以下步骤连接到 MongoDB 实例:

  • ngrok使用命令公开本地 MongoDB 实例
ngrok <PROTOCOL> <LOCAL_PORT>

MongoDB 使用一种tcp协议来创建连接,并且27017是默认端口。如果您不使用默认端口,请提供它代替27017.

ngrok tcp 27017
使用在本地主机上运行的 ngrok MongoDB 进行连接
使用在本地主机上运行的 ngrok MongoDB 进行连接

使用主机地址0.tcp.in.ngrok.io和端口号17392将 MongoDB 数据源添加到您的应用程序。

通过连接到本地 MongoDB 使用 ngrok 创建 MongoDB 数据源
使用在本地主机上运行的 ngrok MongoDB 进行连接

您可以对新添加的 MongoDB 数据源的本地主机实例创建查询LocalMongoDBUsingNgrok

3)本地托管API

要在本地托管 API,您可以使用Python FastAPI服务器。您可以使用pip.

python3 -m pip install fastapi uvicorn

您可以使用以下代码片段来处理 API 请求:

from fastapi import FastAPI

app = FastAPI()

items = [{
"name": "Counter-Strike",
"appid": 10,
"average_playtime": 17612,
"genres": "Action",
"price": 7.2
},
{
"name": "Team Fortress classNameic",
"appid": 20,
"average_playtime": 277,
"genres": "Action",
"price": 3.99
}]


@app.get("/")
async def root():
return items

在代码片段中 - 你有:

  • 导入 FastAPI 库并使用该类启动应用FastAPI程序
  • 定义了一组 Steam 游戏对象
  • 声明了可以访问项目(游戏对象)的路径“/”

您可以使用以下命令运行服务器:

uvicorn main:app --reload
命令 uvicorn main:app 指的是:
  • main:文件 main.py(Python“模块”)。
  • app:在 main.py 中使用 app = FastAPI() 行创建的对象。
  • --reload: 代码更改后重新启动服务器。仅用于开发环境

启动ngrok并公开本地端口8000

ngrok <PROTOCOL> <LOCAL_PORT>

要访问 API,您必须使用HTTP协议和端口8000

ngrok http 8000