我想将我当前的部署迁移到docker,它依赖于mongodb服务,redis服务,pg服务器和rails应用程序,我已经为每个创建了一个docker容器,但我对开始和链接它们有疑问.正在开发中我使用无花果,但我认为它不适合用于生产.为了将我的部署升级到生产级别,我应该使用什么机制来自动启动容器并将其链接在一起?我的部署使用已运行Ubuntu的单个docker主机,因此我无法使用CoreOS.
最佳答案
生产中的Linknig容器是一件棘手的事情.它将硬连接依赖容器的IP地址,因此如果您需要重新启动容器或启动替换(例如升级mongodb的版本),您的rails应用程序将无法使用新容器及其新IP地址开箱即用.
原文链接:https://www.f2er.com/docker/436285.htmlThis other answer explains一些可用的链接替代品.
关于启动容器,您可以使用任何部署工具来运行所需的docker命令(Capistrano可以轻松地执行此操作).之后,docker将在重新启动后重新启动运行容器.
如果容器死了,您可能需要一个观察程序进程来重新启动容器,就像使用普通的rails应用程序一样.
像Tutum和Dockerize.it这样的服务可以使这更简单.据我所知,Tutum不会部署到您的服务器. Dockerize.it会,但非常粗糙(免责声明:我是团队建设的一部分).