如何在 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 来完成。
我在生产服务器的 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 来完成。