如何在 linux 服务器上创建 url 以访问 docker 服务 运行

How do I create a url to reach docker service running on linux server

我想公开一个 docker 容器 运行 端口上的一些服务 say X 在 Linux 服务器上可以使用 URL say http://< server_hostname> /< some_service> ?步骤应该是什么?

您需要向主机公开您的容器端口,然后您才能访问它。以下是 Nginx

的示例
docker run -p 80:80 nginx

as -p 将容器端口 80 暴露给主机端口 80。然后,您可以通过在浏览器上点击 localhost:80127.0.0.1:80machineIP:80 来访问该服务

您可以通过将 docker 本地端口暴露给您的主机来实现

docker run -p hostport:containerport nginx

你也可以为多个端口做

docker run -p 80:80 -p 5000:5000 nginx

现在你有 http://localhost:port

您可以通过多种方式在您的计算机中添加域

  1. 您可以通过向主机 IP 添加域来添加 URL。 它需要你的主机 IP 端口转发。

  2. 您可以使用 https://ngrok.com 免费 IP 到域,无需端口转发。

  3. 另外,您可以通过编辑机器主机文件在本地完成

您需要 docker 中的代理服务器 运行 以及您的服务。可以为此设置 Nginx、Apache 或 Traefik。这个想法是只有代理实际上有一个暴露的端口,它根据路径将流量路由到需要在内部 Docker 网络上进行的地方。