Docker容器

微容器:更小的,更轻便的Docker容器

不问归期 提交于 2019-12-03 01:57:11
【编者的话】本文介绍了微容器的概念和好处,并用一些例子介绍了如何构建微镜像,从scratch到Alpine Linux,并推荐了一些已有的基础微镜像,方便为几乎所有主流语言的应用构建微镜像。本文也指出了构建微镜像的基本原理:将构建时依赖和运行时依赖分开,构建时所用的镜像包含所有构建所用的工具,它可以比较大,但运行时的基础镜像应该仅包含运行时依赖。使用微容器, no going back! Docker 使你能把你的应用和应用的依赖打包到一个良好的自包含镜像中。然后你可以用该那个镜像来在容器中运行你的应用。问题是,你通常也打包了一些你可能不需要比你需要的更多的东西,最终座椅最重你得到了一个巨大的镜像和巨大的容器。大多数开始使用Docker的人会使用Docker的 官方仓库 作为他们的语言的选择,但是不幸的是,如果你使用官方镜像,你会得到一个巨大的镜像,而本来你可以得到一个小镜像的。你并不需要和这些官方镜像中一起的许多复杂的东西。例如,如果你使用 官方的Node镜像 构建一个你的应用的Node的镜像,它至少有643MB大,因为这是 官方Node镜像的大小 。 我构建了一个简单的 Hello World Node 应用 ,在官方Node镜像上构建,它的大小是644MB。 这太大了!我的应用加上依赖也不超过1MB,Node.js的运行时大概20MB,那是什么占据了剩下的620MB