首页 > 其他分享 >K8S 1.20 弃用 Docker 评估之 Docker 和 OCI 镜像格式的差别

K8S 1.20 弃用 Docker 评估之 Docker 和 OCI 镜像格式的差别

时间:2023-03-02 09:44:22浏览次数:61  
标签:OCI 弃用 false Image V2 镜像 Docker Schema

背景

2020 年 12 月初,Kubernetes 在其最新的 Changelog 中宣布,自 Kubernetes 1.20 之后将弃用 Docker 作为容器运行时。

弃用 Docker 带来的,可能是一系列的改变,包括不限于:

  • 容器镜像构建工具
  • 容器 CLI
  • 容器镜像仓库
  • 容器运行时

专题文章《K8S 1.20 弃用 Docker 评估》会从多方面分析由此带来的变动和影响,今天先介绍镜像格式的改变。

Docker 镜像仍然可以使用吗?

是的,可以使用。Docker 较新版本生成的镜像实际上并不是特定于 Docker 的镜像,而是 OCI(Open Container Initiative)镜像。无论你使用什么工具构建镜像,任何符合 OCI 标准的镜像在 Kubernetes 看来都是一样的。containerd 和 CRI-O 都能够提取这些镜像并运行它们。所以您可以仍然使用 Docker 来构建容器镜像,并且可以继续在 containerd 和 CRI-O 上使用。

那为什么发现 Docker 镜像和 Containerd 镜像存在不兼容情况?

具体如下:在 K8S > 1.20 版本中,发现 containerd ctr 上传到镜像仓库的镜像与同版本的 docker 镜像间存在以下问题

  1. 不能被 docker 使用
  2. docker push不能覆盖

根本原因还是在于镜像格式的差别。下面做详细解释。

Docker 和 OCI 镜像格式的差别?

目前有以下几种容器镜像格式:

Docker V1 镜像

{% note danger %}
严重警告

Docker V1 格式早已弃用,请不要再使用!!!

{% note info %}

标签:OCI,弃用,false,Image,V2,镜像,Docker,Schema
From: https://www.cnblogs.com/east4ming/p/17170720.html

相关文章

  • docker vue dist 部署
    1.准备vue打包后的dist2.部署docker 1.准备vue打包后的dista:1个dist目录;1个Dockerfile文件。内容如下:FROMnginxCOPYdist//usr/share/nginx/html/ 说明:自动......
  • docker下netcore内存dump
    一般开发阶段可以通过visualstudio来检查程序的内存、cup等的优化问题。vs下调试=》性能探查器,这里面大有千秋。但是好多内存问题是经过时间积累下来才暴露出来的,在生产......
  • docker出现“Failing to start dockerd: failed to create NAT chain DOCKER”错误
    使用Windows的WSL2里面的Ubuntu安装docker之后,启动docker服务一直失败,提示Dockerisnotrunning。使用dockerd命令会出现如下错误:INFO[2023-03-01T18:22:07.565628800+0......
  • k8s-container unix:///run/crio/crio.sock unix:///var/run/cri-dockerd.sock
    crictlps报runtimeconnectusingdefaultendpoints:[unix:///var/run/dockershim.sockunix:///run/containerd/containerd.sockunix:///run/crio/crio.sockunix:///......
  • Docker 容器将在“docker run -d”后自动停止
    根据我目前阅读的教程,使用“dockerrun-d”将从图像启动一个容器,并且该容器将在后台运行。这就是它的样子,我们可以看到我们已经有了容器ID。root@docker:/home/ro......
  • docker无法启动
    报错日志:FailedtochownsocketatstepGROUP:NosuchprocessFailedtolistenonDockerSocketfortheAPI.Subject:Unitdocker.sockethasfailed 解决方案......
  • 基于 Docker Compose 安装 ElasticView
    1、Docker安装参考:https://www.cnblogs.com/a120608yby/p/9883175.html2、DockerCompose安装参考:https://www.cnblogs.com/a120608yby/p/14582853.html3、服务......
  • Docker生成镜像
    Docker生成镜像 dockercommit:提交为新镜像:dockercommit-m="描述消息"-a="作者"容器ID或容器名镜像名:TAG#例:#dockercommit-m="修改了首页"-a="华......
  • 2,docker基础之---镜像构建及挂载
    查看当前镜像:[root@docker~]#dockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZE[root@docker~]#很明显docker是咱们新搭建的所以目前还没有镜像1,搜索镜像:[......
  • Centos安装docker
    使用Xshell连接服务器,并获取root权限wgethttps://get.docker.com/gpgrpmkeys--import./gpg自动安装命令:curl-fsSLhttps://get.docker.c......