【发布时间】:2016-05-05 11:21:55
【问题描述】:
我有一个LAMP,上面添加了很多域名,所以上面存储了很多不同的网站。我想将它们分成Docker 容器。每个网站/网络应用程序和所有相关的东西都应该在一个容器中。文件访问通过--volumes-from 标志解决,但是MySQL 数据库和VirtualHosts 呢?我应该如何以每个容器的方式设置它们?
【问题讨论】:
-
VirtualHosts有什么问题?
我有一个LAMP,上面添加了很多域名,所以上面存储了很多不同的网站。我想将它们分成Docker 容器。每个网站/网络应用程序和所有相关的东西都应该在一个容器中。文件访问通过--volumes-from 标志解决,但是MySQL 数据库和VirtualHosts 呢?我应该如何以每个容器的方式设置它们?
【问题讨论】:
VirtualHosts 有什么问题?
您可以使用 ÈXPOSE` 命令在 dockerfile 中公开 MySQL 端口,然后绑定您的服务以在该端口上转移 MySQL 相关查询。
【讨论】:
您可以使用已经可用的MySQL 图像来启动您的数据库,然后通过链接(运行您的应用时的--link 选项)连接它,您可以在链接中找到更多信息。
对于您的虚拟主机,您可以使用 nginx 作为代理,它会根据您的条件路由到您的应用程序(例如,/admin 将被路由到 app1-192.197.0.12)。
【讨论】:
对于 MYSQL,您可以为每个容器启动一个,然后使用 --link 标志将它们链接在一起。或者您可以简单地将 mysql 作为服务器安装在 docker 容器中。
您也可以使用 docker-compose 将每一个作为一个整体进行编排。
至于虚拟主机,以下可能满足你的需求?
【讨论】:
nginx-proxy,应该映射哪些端口?