我正在寻找一种在容器启动时为其分配域名的方法。例如,我想启动一个 Web 服务器容器,并且能够通过域名访问网页。有没有简单的方法可以做到这一点?
最佳答案
据我所知,Docker
并没有开箱即用地提供此功能。但这里肯定有几种解决方法。事实上,您需要在您的主机上部署一个 DNS 来区分容器并在动态 IP 中解析它们的域名。所以你可以尝试一下:
- 部署一些 Docker-aware DNS 解决方案(我建议你使用
SkyDNSv1
/SkyDock
); - 将您的主机配置为使用此 DNS(默认情况下,
SkyDNS
使容器通过名称相互认识,但主机不知道); - 使用显式
--hostname
运行您的容器(您可能会使用方案container_name.image_name.dev.skydns.local
)。
您也可以跳过第 2 步并在容器内运行浏览器:它将通过主机名发现 Web 应用程序容器。
关于docker - 为容器分配域名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30791718/