现在我觉得Docker在以下几方面还没有很好的解决方案,但是对应用的部署影响又比较大:
- 应用配置的管理,比如API_KEY, 数据库用户名及密码等。如果用环境变量传递,那么在多个应用共享一台主机的情况下,很容易发生泄露。就算是独占主机,用了CAdvisor,Shipyard等集群管理工具后,也会通过HTTP REST API暴露环境变量。另一种方法是通过—env_file或volumes等方式使用host上的配置文件。但这种方式的缺点就是无法享受快速横向扩展的好处。同时对这些配置文件的管理又带来更多的工作。
- 容器间不通过LINK方式无法方便的互相访问。见 https://github.com/docker/docker/issues/1143
- 容器的滚动升级问题,见 https://github.com/docker/docker/issues/2733
大家在这几个方面有什么比较好的做法,请指教。