Docker在构建期间发布端口
我正在使用Docker构建Nginx环境.我想知道是否有可能在构建期间公开发布端口(80、443),以便letencrypt可以在构建时运行(它需要对(中间)容器中服务器的网络访问). 这可能吗? 最佳答案
我从未见过,我认为这是设计无法实现的.
>请勿将密钥放置在图像中 通常,这是通过使用伴随的letencrypt Docker映像完成的,有时也称为sidekick.基本上,您有您的应用程序(及其容器)和一个letencrypt容器,公开了一个nginx然后使用volume_挂载的卷,这是letencrypt容器放置获取的证书的位置.这是在映像启动期间发生的,而不是在映像创建期间发生的.您使用docker-compose文件配置所需的任何内容. 例如.你可以在这里看看 a)让您使用ENV变量定义所需的域,这将非常适合docker-compose方式,而不在主机上提供任何文件(如配置)(保持可移植性). 您仍然可以将所有这些都放在nginx服务器上,但是出于许多原因(例如,需要配置nginx),这并不是最好的做法. 如果您要坚持“构建时间”,则可以选择使用DNS验证模式,因此,与其使用端口上的反向连接进行验证,不如使用DNS条目进行验证,为此提供了一些链接 对于这种情况,您可能要选择http://cloudflare.com-AFAIK,这是唯一可以免费访问无限域的API的DNS服务,其他任何花费或有限制的事情. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Azure IoT 技术研究系列3-设备到云、云到设备通信
- WebService—快速实现一个基于JAX-WS的WebService项目(二)
- JAX-WS与JAX-RS区别是什么?
- 用bash读取文本文件的前8个字符
- vim – 如何设置Syntastic作为python3检查器而不是python2
- angular – 应用程序在遇到异常后变得无响应
- angularjs – 使用Saucelabs上传量角器文件
- Scala Dispatch库:如何处理连接失败或超时?
- bootstrap, boosting, bagging 几种方法的联系
- JS表格组件BootstrapTable行内编辑解决方案x-editable