Containerd

学习Docker安装与卸载

China☆狼群 提交于 2020-05-01 17:54:57
操作系统:CentOS Linux release 7.8 实战任务: 1.默认安装Docker和指定安装Docker版本 2.卸载Docker 操作步骤: 1.安装Docker 1)安装所需的软件包 [root@146 ~]# yum install yum-utils device-mapper-persistent-data lvm2 2)使用以下命令添加阿里源 [root@146 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 3)安装Docker Engine-Community #默认安装是最高版本,可能会带来不稳定。 [root@146 ~]# yum install docker-ce docker-ce-cli containerd.io 4)查看所有仓库中所有docker版本,并选择特定版本安装 [root@146 /]# yum list docker-ce --showduplicates | sort -r docker-ce.x86_64 3:19.03.8-3.el7 docker-ce-stable docker-ce.x86_64 3:19.03.7-3.el7 docker-ce-stable

容器开放接口规范概述

大城市里の小女人 提交于 2020-04-27 10:15:47
  云原生(CNCF)很火, 容器开放接口规范 CRI CNI OCI CRI - Container Runtime Interface(容器运行时接口)    CRI中定义了容器和镜像的服务的接口 ,因为容器运行时与镜像的生命周期是彼此隔离的,因此需要定义两个服务,该 接口使用Protocol Buffer(序列化) ,基于gRPC Container Runtime实现了CRI gRPC Server,包括RuntimeService和ImageService 。该gRPC Server需要监听本地的Unix socket, 而kubelet则作为gRPC Client运行 启用CRI 除非集成了rktnetes,否则CRI都是被默认启用了,kubernetes1.7版本开始旧的预集成的docker CRI已经被移除。 要想启用CRI只需要在kubelet的启动参数重传入此参数: --container-runtime-endpoint 远程运行时服务的端点 。当前Linux上支持unix socket,windows上支持tcp。例如: unix:///var/run/dockershim.sock(socket) 、 tcp://localhost:373(tcp) ,默认是 unix:///var/run/dockershim.sock

earthly 使用中碰到的一些问题说明

爷,独闯天下 提交于 2020-04-22 13:29:06
buildkit依赖 earthly 依赖buildkit,我们可以自己搭建buildkit集群,或者earthly自己基于容器运行,可以通过 --buildkit-image 指定buildkit的镜像,当前的为 earthly/buildkitd:v0.1.0 无网络环境的问题 目前在测试机器无网络环境构建镜像的时候发现暂时不太好事(buildkit的原因),通过大略查看buildkit 的源码,发现 在upack 阶段会有根据manifest 发去http 请求的处理,如果机器没有网络会有类似如下的错误 failed to load cache key: failed to do request: Head https: //registry-1.docker.io/v2/library/busybox/manifests/1.31.1: dial tcp 54.210.105.17: 443: i / o timeout earthly 大致流程(后边详细介绍) 通过bcc的execsnoop查看到的,有利于学习earthly的一些原理 测试的命令 earth -- buildkit - image xxxx / buildkitd: v0 .1.0 + docker 效果 PCOMM PID PPID RET ARGS earth 24375 23225 0 / bin

Docker(一)

余生颓废 提交于 2020-04-18 19:42:24
  最近接触到了docker,发现docker的强大和简便,很多企业都在使用docker来部署项目,所以近期开始学习docker。这个学习模块依旧使用Linux系统Centos8.0发行版 docker安装:   安装步骤就直接按照 官方文档 进行操作了,在左侧导航栏选择自己系统的版本进行安装,我安装的是CentOs发行版的,推荐直接使用root账户安装,在安装之前建议先更新yum,否则在安装docker引擎那一步可能会出错。 # 更新yum yum update - y 卸载老版本   卸载老版本主要针对已经安装了docker的小伙伴,如果是第一安装可以不用执行这条命令 # 卸载docker yum remove docker docker - client docker - client - latest docker - common docker - latest docker - latest - logrotate docker - logrotate docker - engine 安装方法   docker提供了两种安装方法,一种是通过yum直接在线安装,使用这种方法比较简单易维护,后期可以自动升级版本;另外一种是在官方网站下载rpm包进行手动安装;对于我这种手残党来说肯定是选择yum安装咯,简单方便   通过yum安装首先的设置存储库

什么是Docker吗?

无人久伴 提交于 2020-04-17 03:10:16
【推荐阅读】微服务还能火多久?>>> Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。Docker 项目后来还加入了 Linux 基金会,并成立推动 开放容器联盟(OCI)。 Docker 自开源后受到广泛的关注和讨论,至今其 GitHub 项目 已经超过 5 万 4 千个星标和一万多个 fork。甚至由于 Docker 项目的火爆,在 2013 年底,dotCloud 公司决定改名为 Docker。Docker 最初是在 Ubuntu 12.04 上开发实现的;Red Hat 则从 RHEL 6.5 开始对 Docker 进行支持;Google 也在其 PaaS 产品中广泛应用 Docker。 Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于 LXC,从 0.7 版本以后开始去除 LXC

什么是Docker吗?

烈酒焚心 提交于 2020-04-16 14:36:56
【推荐阅读】微服务还能火多久?>>> Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。Docker 项目后来还加入了 Linux 基金会,并成立推动 开放容器联盟(OCI)。 Docker 自开源后受到广泛的关注和讨论,至今其 GitHub 项目 已经超过 5 万 4 千个星标和一万多个 fork。甚至由于 Docker 项目的火爆,在 2013 年底,dotCloud 公司决定改名为 Docker。Docker 最初是在 Ubuntu 12.04 上开发实现的;Red Hat 则从 RHEL 6.5 开始对 Docker 进行支持;Google 也在其 PaaS 产品中广泛应用 Docker。 Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于 LXC,从 0.7 版本以后开始去除 LXC

阿里巴巴开源的 Dragonfly 升级为 CNCF 孵化项目

こ雲淡風輕ζ 提交于 2020-04-15 09:33:44
【推荐阅读】微服务还能火多久?>>> 2020 年 4 月 9 日,CNCF 技术监督委员会(TOC)投票决定接受 Dragonfly 作为孵化级别的托管项目。 Dragonfly 是一个由阿里巴巴开源的云原生镜像/文件分发系统,主要解决云原生领域以 Kubernetes 为核心的应用镜像分发问题。2018 年 10 月,Dragonfly 正式进入 CNCF,成为 CNCF 沙箱级别项目,开始云原生探索之旅,帮助用户改善 Kubernetes 中镜像 / 文件分发的体验,从而让企业工程师可以专注于应用程序本身而非基础架构管理。 每个CNCF项目都有一个相关的成熟度级别:沙箱、孵化或毕业级。有关每个等级的成熟度要求的更多信息,请访问 CNCF 毕业标准 v.1.3 。 阿里巴巴资深技术专家易立认为: “作为阿里巴巴生态系统中容器平台的骨干技术之一,Dragonfly 每年支撑了数十亿次应用服务的部署交付,被全球许多企业客户使用。阿里巴巴期待不断改进 Dragonfly,使其更加高效和易于使用。” Dragonfly 的目标是解决云原生场景中的分发问题。该项目由以下三个主要部分组成: SuperNode 扮演中央调度器角色,控制 peer 之间的所有分发过程; dfget 是 P2P 客户端,主要负责 peer 之间分块的互传; dfdaemon 则扮演代理角色

centos8.1安装docker

我只是一个虾纸丫 提交于 2020-04-11 17:08:06
centos8已经发布很久,一时兴起想尝试一下centos8 安装完后发现安装docker一直报错,现在记录一下安装过程。 1、安装docker依赖: yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 安装:docker yum install docker-ce docker-ce-cli containerd.io 启动docker: systemctl start docker 查看版本: docker --version 添加到开机启动: sudo systemctl enable docker 如果yum安装失败可以containerd.io先安装在安装另外两个 https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ 下载安装: dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.12-3.1.el7.x86_64

从零开始入门 K8s | 理解 RuntimeClass 与使用多容器运行时

人盡茶涼 提交于 2020-04-10 10:05:44
作者 | 贾之光 阿里巴巴高级开发工程师 本文整理自《CNCF x Alibaba 云原生技术公开课》第 30 讲, 点击直达课程页面 。 关注“阿里巴巴云原生”公众号,回复关键词 “入门” ,即可下载从零入门 K8s 系列文章 PPT。 一、RuntimeClass 需求来源 容器运行时的演进过程 我们首先了解一下容器运行时的演进过程,整个过程大致分为三个阶段: 第一个阶段:2014 年 6 月 Kubernetes 正式开源,Docker 是当时唯一的、也是默认的容器运行时; 第二个阶段:Kubernetes v1.3 rkt 合入 Kubernetes 主干,成为了第二个容器运行时。 第三个阶段:Kubernetes v.15 与此同时,越来越多的容器运行时也想接入到 Kubernetes 中。如果还是按 rkt 和 Docker 一样内置支持的话,会给 Kubernetes 的代码维护和质量保障带来严重挑战。 社区也意识到了这一点,所以在 1.5 版本时推出了 CRI,它的全称是 Container Runtime Interface。这样做的好处是:实现了运行时和 Kubernetes 的解耦,社区不必再为各种运行时做适配工作,也不用担心运行时和 Kubernetes 迭代周期不一致所带来的版本维护问题。比较典型的,比如 containerd 中的 cri-plugin

ubuntu 分析系统启动时间

五迷三道 提交于 2020-04-09 04:29:08
ubuntu 分析系统启动时间 分析启动时间 # 系统启动时间 ~# systemd-analyze Startup finished in 6.783s (firmware) + 8.983s (loader) + 2.522s (kernel) + 3.570s (userspace) = 21.860s # 各service启动耗时从大到小排列 ~# systemd-analyze blame 2.754s docker.service 1.835s fwupd.service 294ms udisks2.service ... # 链状展示 @后面是开始时间 +后面是启动耗时 ~# systemd-analyze critical-chain The time after the unit is active or started is printed after the "@" character. The time the unit takes to start is printed after the "+" character. graphical.target @3.564s └─multi-user.target @3.564s └─docker.service @809ms +2.754s └─containerd.service @797ms +7ms └