尤其是在“运行”而非“构建”方面,在Docker中使用Layer有什么优势?
我阅读了Docker Docs,在谷歌上搜索了很多,看到了文章(What are the advantages of having layers in a docker image)
然后,我弄清楚了在构建图像时使用图层的优势是什么。
但是在基于图像运行容器方面,我不知道优点是什么。
例如(当我创建图像时), 我的Dockerfile中有以下行
FROM python:3.7-slim
如果我有python:3.7-slim映像,则不必下载其他python映像,因此可以更高效,更快地构建它。
但这是关于“构建过程”的优点。我想知道“运行”的优点。 在“运行”方面,在Docker中使用Layers有什么优势?
答案 0 :(得分:1)
运行时没有优势,甚至可以看作是劣势。
图层是union file systems提供的功能。如您所知,加速Docker映像构建非常方便。但是,在I / O速度方面,这种文件系统比常规文件系统要慢。
为克服此缺点,docker volumes是使用常规文件系统的容器中的安装点。 Docker卷还有助于持久化数据,因为它们所保存的数据不在容器的联合文件系统上,因此可以在容器删除(容器联合文件系统删除)后幸免。