了解Docker最佳实践
我知道Docker是一个全新的可能性世界,在networking上很好地呈现,但是这些新的select带来了我想知道的新风险。 解决这些风险的最佳实践是经验带来的一件事,但由于我缺乏这方面的经验…
以下是应用程序dockerization的几个方面,它根据实现select呈现风险:
1.图像专业化和产业化
我明白一个正在运行的Docker应用程序意味着2个部分:
- 不变的部分:Docker Image
- 可变部分:所有用户添加的文件和元数据
我的问题是:为特定的部署(客户,环境,configuration)专门化图像的正确方法是什么? 在哪里存储可变部分以确保更多的进化和隔离/安全性?
2.应用程序生命周期pipe理
假设我开发了MyApplication的Docker镜像
- 在某些时候,我部署了v1,这个版本将会持续一段时间,存储在我的Docker容器中的特定的用户添加的文件和元数据
- 在某个时候,我完成了V2开发,我想更新现有的V1
什么是正确的程序/devise/实践,以确保考虑到干净和容易的移民
- 我的图像v2可能需要比我的v1更多的参数
- 我想要保留所有用户添加的文件或元数据
3.多个集装箱通信和安全
我想要build立一个安全的集装箱间通信的多容器部署。
- 在所有这些容器之间处理networkingstream量的正确方法是什么?
- 因为我想设置x509证书,CN必须匹配主机名…如何处理所有这些容器?
- Docker能处理某种VLAN来定义几组容器之间的安全层吗?
谢谢!