相比于原有Docker运行时,安全沙箱提供的一种新的容器运行时选项,可以把应用运行在一个轻量虚拟机沙箱环境中,拥有独立的内核,具备更好的安全隔离能力。安全沙箱特别适合于不可信应用隔离、故障隔离、性能隔离、多用户间负载隔离等场景。在提升安全性的同时,对性能影响非常小,并且具备与Docker容器一样的用户体验,例如日志、监控、弹性等, 但目前安全沙箱仅支持ECS神龙裸金属型号,暂不支持ECS虚拟机型号。
更多关于Docker和沙箱的信息,请参见如何选择Docker运行时、Containerd运行时、或者安全沙箱运行时?。
镜像和容器已然成为应用的打包和交付标准。Kubernetes成为了整个容器云原生应用的标准OS,越来越多的企业和用户选择在ACK中部署自己的应用。容器服务Kubernetes版(ACK)支持Containerd、Docker、安全沙箱三种运行时。本文通过对比三种运行时的实现和使用限制、部署结构,并通过对比Docker和Containerd两种容器引擎常用命令,帮助您根据需求场景选择合适的容器运行时。
特性 | Containerd运行时 | Docker运行时 | 安全沙箱运行时 | 说明 |
集群类型 | 支持托管版、专有版和边缘托管版 | 支持所有类型 | 支持托管版和专有版 | 无 |
节点型号 | 支持:
| 支持:
| 支持: EBM | 无 |
节点OS | 支持:
| 支持:
| 支持: Alibaba Cloud Linux定制版 |
|
容器引擎 | 支持Containerd | 支持Docker | 支持Containerd | 无 |
监控 | 支持 | 支持 | 支持 | 无 |
容器日志文件采集 | 支持 | 支持 | 手动支持(Sidecar) | 有关Sidecar配置,请参见通过Sidecar-CRD方式采集容器文本日志。 |
容器标准输出采集 | 支持 | 支持 | 支持 | 无 |
RuntimeClass | 不支持 | 不支持 | 支持(runV) | 无 |
Pod调度 | 无需配置 | 无需配置 | 配置如下:
| 无 |
HostNetwork | 支持 | 支持 | 不支持 | 无 |
exec/logs | 支持 | 支持 | 支持 | 无 |
节点数据盘 | 可选 | 可选 | 必选(不小于200 GiB) | 无 |
网络插件 | 支持:
| 支持:
| 支持:
| 无 |
kube-proxy代理模式 | 支持:
| 支持:
| 支持:
| 无 |
存储插件 | 支持CSI Plugin(边缘托管版除外) | 支持CSI Plugin | 支持CSI Plugin | 无 |
容器RootFS | 支持OverlayFS | 支持OverlayFS | 支持配置磁盘Quota的OverlayFS | 无 |
运行时 | 部署结构 |
Docker |
|
Containerd |
|
安全沙箱v2 |
|
Docker运行时和安全沙箱运行时的容器引擎分别是Docker和Containerd。这两种容器引擎都有各自的命令工具来管理镜像和容器。两种容器引擎常用命令对比如下。
命令 | Docker | Containerd | |
docker | crictl(推荐) | ctr | |
查看容器列表 | docker ps | crictl ps | ctr -n k8s.io c ls |
查看容器详情 | docker inspect | crictl inspect | ctr -n k8s.io c info |
查看容器日志 | docker logs | crictl logs | 无 |
容器内执行命令 | docker exec | crictl exec | 无 |
挂载容器 | docker attach | crictl attach | 无 |
显示容器资源使用情况 | docker stats | crictl stats | 无 |
创建容器 | docker create | crictl create | ctr -n k8s.io c create |
启动容器 | docker start | crictl start | ctr -n k8s.io run |
停止容器 | docker stop | crictl stop | 无 |
删除容器 | docker rm | crictl rm | ctr -n k8s.io c del |
查看镜像列表 | docker images | crictl images | ctr -n k8s.io i ls |
查看镜像详情 | docker inspect | crictl inspecti | 无 |
拉取镜像 | docker pull | crictl pull | ctr -n k8s.io i pull |
推送镜像 | docker push | 无 | ctr -n k8s.io i push |
删除镜像 | docker rmi | crictl rmi | ctr -n k8s.io i rm |
查看Pod列表 | 无 | crictl pods | 无 |
查看Pod详情 | 无 | crictl inspectp | 无 |
启动Pod | 无 | crictl runp | 无 |
停止Pod | 无 | crictl stopp | 无 |
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。