runc

runc and ctr commands do not show docker images and containers

孤者浪人 提交于 2020-07-05 05:10:48
问题 I have multiple Docker images and containers running on a VM. But commands like "runc list" doesn't list any of these. How can I make runc/containerd aware of my existing docker images? 回答1: The runtime ( runc ) uses so-called runtime root directory to store and obtain the information about containers. Under this root directory, runc places sub-directories (one per container), and each of them contains the state.json file, where the container state description resides. The default location

libcontainer vs Docker vs OCF vs runc?

你说的曾经没有我的故事 提交于 2020-06-09 17:00:09
问题 I'm trying to understand the Docker world a little better, and can't quite seem to wrap my brain around the differences between these. I believe that OCF is an emerging container standard being endorsed by OpenContainers, and I believe that Docker is set to be the first reference implementation of that standard. But even then, I have concerns that the Google Gods don't seem to be providing answers for: What exactly is the OCF "standard"? Just a written document? A written API? A compiled C

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-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

从零开始入门 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

关于 Kubernetes 规划的灵魂 n 问

|▌冷眼眸甩不掉的悲伤 提交于 2020-03-09 11:58:30
作者 | 易立 阿里云资深技术专家 导读 :Kubernetes 已经成为企业新一代云 IT 架构的重要基础设施,但是在企业部署和运维 Kubernetes 集群的过程中,依然充满了 复杂性和困扰 。 阿里云容器服务自从 2015 年上线后,目前 托管着上万的 K8s 集群 来支撑全球各地的客户。我们对客户在规划集群过程中经常会遇见的问题,进行一些分析解答。试图缓解大家的“ 选择恐惧症 ”。 如何选择 Worker 节点实例规格? 裸金属还是虚拟机? 在 Dimanti 2019 年的容器调查报告中,对专有云用户选择裸金属服务器来运行容器的主要原因进行了分析。 选择裸金属服务器的最主要原因( 超过 55% )是:传统虚拟化技术 I/O 损耗较大;对于 I/O 密集型应用,裸金属相比传统虚拟机有更好的性能表现; 此外近 36% 的客户认为:裸金属服务器可以降低成本 。大多数企业在初始阶段采用将容器运行在虚拟机的方案,但是当大规模生产部署的时候,客户希望直接运行在裸金属服务器上来减少虚拟化技术的 license 成本(这也常被戏称为“VMWare 税”); 还有近 30% 的客户因为在物理机上部署有更少的额外资源开销 (如虚拟化管理、虚拟机操作系统等);还有近 24% 的客户选择的原因是:可以有更高的部署密度,从而降低基础设施成本; 超过 28% 的客户认为

k8s集群部署一(最新版docker安装)

拈花ヽ惹草 提交于 2020-02-28 16:06:28
因为这里面docker跟我们平常用的docker有点不同,需要好好过一遍(本人的三台服务器的IP跟上图不同,现在最新版本的docker为18.09.2) 首先安装docker yum install docker service docker start后 # docker info Containers: 0 Running: 0 Paused: 0 Stopped: 0 Images: 0 Server Version: 1.13.1 Storage Driver: overlay2 Backing Filesystem: extfs Supports d_type: true Native Overlay Diff: true Logging Driver: journald Cgroup Driver: systemd Plugins: Volume: local Network: bridge host macvlan null overlay Swarm: inactive Runtimes: docker-runc runc Default Runtime: docker-runc Init Binary: /usr/libexec/docker/docker-init-current containerd version: (expected:

高性能容器伺服器-containerd简介

自闭症网瘾萝莉.ら 提交于 2020-02-28 11:52:39
containerd是一个高性能的容器(container)伺服系统(查看 源码 ),部分功能与Docker很像,相当于Docker Daemon模式和更新版的DockerD。 containerd采用并行启动技术,可以每秒启动上百个容器实例。containerd提供命令行和REST服务接口,里面对容器真正的管理是通过containerd-shim进程来完成 。 与Docker Engine的一锅烩模式不同的是,containerd并不管理容器的镜像,主要支持 OCI( https://www.opencontainers.org/ )开放容器标准 的镜像,通过runc来启动。 OCI镜像可以通过Docker镜像转换而来(参见: https://github.com/docker/containerd/blob/master/docs/bundle.md )。 containerd与大家熟知的Docker可谓相生相克,最新发展出的关系如下图所示。 Docker从1.11开始,已经支持containerd和runc来运行容器。在DockerD服务启动时自动启动了containerd作为后台进程服务(可以通过ps aux | grep docker查看)。 更详细的中文介绍参考: http://dockone.io/article/1327 。 下面是 containerd的 官方介绍

从零开始入门 K8s | GPU 管理和 Device Plugin 工作机制

有些话、适合烂在心里 提交于 2020-02-28 06:56:10
作者 | 车漾 阿里巴巴高级技术专家 本文整理自 《CNCF x Alibaba 云原生技术公开课》 第 20 讲。 关注“阿里巴巴云原生”公众号,回复关键词**“入门”**,即可下载从零入门 K8s 系列文章 PPT。 导读 :2016 年,随着 AlphaGo 的走红和 TensorFlow 项目的异军突起,一场名为 AI 的技术革命迅速从学术圈蔓延到了工业界,所谓 AI 革命从此拉开了帷幕。该热潮的背后推手正是云计算的普及和算力的巨大提升。 需求来源 经过近几年的发展,AI 有了许许多多的落地场景,包括智能客服、人脸识别、机器翻译、以图搜图等功能。其实机器学习或者说是人工智能,并不是什么新鲜的概念。而这次热潮的背后,云计算的普及以及算力的巨大提升,才是真正将人工智能从象牙塔带到工业界的一个重要推手。 与之相对应的,从 2016 年开始,Kubernetes 社区就不断收到来自不同渠道的大量诉求:希望能在 Kubernetes 集群上运行 TensorFlow 等机器学习框架。这些诉求中,除了之前文章所介绍的,像 Job 这些离线任务的管理之外,还有一个巨大的挑战:深度学习所依赖的异构设备及英伟达的 GPU 支持。 我们不禁好奇起来:Kubernetes 管理 GPU 能带来什么好处呢? 本质上是成本和效率的考虑。由于相对 CPU 来说,GPU 的成本偏高。在云上单 CPU