在LXC容器中运行应用程序的服务器上运行应用程序所需的资源?
LXC / LXD提供了像openVZ这样的虚拟机,但是消除了在GUEST系统上安装定制内核的开销。
在GUEST操作系统上,在LXC容器中运行像JETTY / TOMCAT这样的应用程序服务器的开销是多less,VS直接在GUEST操作系统上运行同一个应用程序服务器?
第一个我注意到的是容器本身的大小,安装tomcat服务器大约300MB, tomcat服务器本身只有10MB。
最初的调查结果也不全面
- https://superuser.com/questions/871724/whats-the-minimum-overhead-of-a-linux-container/895490
- 什么是Docker容器的运行时性能成本 (这是与docker的比较)
任何软件的容器可以有一个非常不同的大小
-
如果它是基于Ubuntu,Debian,像Bitnami,Alpine或Busybox这样的Debian光
-
如果您安装了所有推荐和build议的软件包,请参阅Dave Beckett的博客文章
https://www.dajobe.org/blog/2015/04/18/making-debian-docker-images-smaller/
- 如果你使用像docker-slim这样的工具
https://github.com/docker-slim/docker-slim
或条形码docker图像
https://github.com/mvanholsteijn/strip-docker-image
减less图像的大小
- 如果使用docker版本1.13,则可以使用工具来减less使用docker壁球的图层数量
https://github.com/moby/moby/pull/22641
一些例子,
1)stream行的grafana-xxl大小为357.3 MB
而使用docker-slim的相同图像的大小为18.73 MB
https://hub.docker.com/r/k3ck3c/grafana-xxl.slim/
2)netcat
基于Debian(159.3 MB)
基于阿尔卑斯山(大小7,812 MB)
https://hub.docker.com/r/k3ck3c/netcat_alpine/
(大约2或3 MB的基于Busybox)