如何在 docker 生产容器中发布网站 运行?

How to publish a web site running in a docker container on production?

我在生产服务器的 docker 容器中有一个 Web 应用程序 运行。现在我需要向该应用程序发出 API 请求。所以,我有两种可能性: 1) Link 一个域 2) 直接通过IP

发起请求

我正在为此使用云服务器。根据我以前的经验,我 link 将域编辑到一个文件夹。但是现在我不知道如何将域 link 到 ip_addr:port 上的 运行 容器。

我找到了这个 link https://docs.docker.com/v17.12/datacenter/ucp/2.2/guides/user/services/use-domain-names-to-access-services/ 但这是 docker enterprice。目前无法使用它。

要在不使用 compose 或其他编排工具(如 Kubernetes)的情况下将 docker 应用程序公开给 public,您可以使用 docker run -p hostPort:containerPort 选项来公开您的容器端口。确保您的应用程序正在侦听容器内的 0.0.0.0:[container port]。要从外部访问服务,您将使用主机的 IP 和容器端口映射到的端口。

查看更多here

如果您想 link 到一个域,您可以更新您的 DNS 记录以将您的域指向您的主机 IP 地址。

希望对您有所帮助!

最好的方法是使用 kubernetes,因为它可以简化许多操作。但是docker-compose也可以用

如果您只想使用 docker 进行部署,可以通过将 hostPort 映射到 containerPort 来完成。