node.js-启动时在Docker容器中创建环境变量
创建节点映像时,如何获取mongo容器的IP地址并将其设置为环境变量? 我一直遇到技术堆栈冲突的问题:keystone.js,forever和docker.我的问题是我需要为一个单独的mongo容器设置一个环境变量,这在启动包含以下内容的容器时运行shell脚本似乎很容易做到:
问题在于启动梯形校正应用程序.通常,我会将其放在相同的脚本中,并通过docker run调用它,但是我们需要永远使用这个项目.命令将永远是keystone.js.这样做有一个问题,即Docker容器会立即掉落.如果我通过简单的永久启动而不是转到脚本启动应用程序,则该应用程序可以正常启动,但未设置所需的env变量.它在docker映像中进行了硬编码,但这当然不是一个好的解决方案,因为mongodb的ip将来可能会更改,然后在节点容器重启时将无法找到该数据库.看到几种可能性: >切换到仅使用节点keystone.js,将失去永久启动的功能(如果发生严重故障,它将重新启动应用程序).经过测试,这行得通,但也许有人知道一种可以永久工作或可行的替代方法? 非常感谢您的帮助. 最佳答案
最好的方法是使用docker link,这为您提供了一个环境变量的主机名.
您也可以使用run中的命令行选项
动态DNS的选项为SkyDNS + SkyDock. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |