Image
Image提供一个用户层完整的运行时环境,使用户就像使用VM一样在相对独立的环境中工作。
Image文件对Container是只读的,Container在Image上创建一个File Union,FileUnion记录了用户层对Image文件的“写操作”,并始终为用户层提供当前最新的Image文件,所以在用户层看来,好像是在读写Image本身一样。这样做的好处是:(1)启动时不需要加载Image,提高了Docker的启动速度;(2)不会污染Image,即实现对磁盘的隔离。
项目的部署时连同开发环境的Image一同发布到生产环境,实现了应用连同开发环境的操作系统一起部署的效果,这样做消除了环境差异造成的潜在风险。
实际上我在实践中已经有了这样的思路。比如把使用Geant4模拟粒子输运的ScientificLinux环境刻成镜像,在实验室中模拟少量事例后原封不动地保存镜像,然后拿到集算上去跑。但是对于轻量的Web服务,显然使用Docker经济地多了。