runc

How to list docker containers using runc

我的梦境 提交于 2021-02-11 18:21:32
问题 From what I can tell runc list allows to pass a root directory for container storage. But I can't figure out what root directory to pass for docker. I tried /var/lib/docker/containers but it says container don't exist. I do have containers showing up in docker ps (fyi). Or am I wrong in assuming that docker still uses runc to run containers? EDIT: Based on Niklas's answer. Is there a way of finding root directories for runc - from docker or the scanning the file system? 回答1: Root directory is

How to list docker containers using runc

*爱你&永不变心* 提交于 2021-02-11 18:20:07
问题 From what I can tell runc list allows to pass a root directory for container storage. But I can't figure out what root directory to pass for docker. I tried /var/lib/docker/containers but it says container don't exist. I do have containers showing up in docker ps (fyi). Or am I wrong in assuming that docker still uses runc to run containers? EDIT: Based on Niklas's answer. Is there a way of finding root directories for runc - from docker or the scanning the file system? 回答1: Root directory is

对容器镜像的思考和讨论

一世执手 提交于 2021-02-08 04:41:41
简介: 常言道,startup 有 startup 的好,大厂有大厂的好,那么大厂究竟好在哪呢?拿硅谷老牌大厂们 FLG 来说,如果要问最令人怀念的是什么?Free food 和基础设施(Infrastructure)一定是会上榜的,两者均极大提升了广大应用开发者的幸福指数。那么能不能“让天下没有难做的应用”呢?请大家把目光投向正在兴起的云原生生态。 前言 常言道,startup 有 startup 的好,大厂有大厂的好,那么大厂究竟好在哪呢?拿硅谷老牌大厂们 FLG 来说,如果要问最令人怀念的是什么?Free food 和基础设施(Infrastructure)一定是会上榜的,两者均极大提升了广大应用开发者的幸福指数。那么能不能“让天下没有难做的应用”呢?请大家把目光投向正在兴起的云原生生态。 在云原生生态中,容器服务包括了镜像和容器引擎两个部分。其中容器镜像作为核心的云原生应用制品,打包了完整的操作系统和应用运行环境,应用的迭代也因为使用了这种不可变架构而变得更简单,更频繁。 本文将围绕着容器镜像这一核心,分享它的相关知识和业界的思考与实践。 容器镜像的概念 1)容器镜像 容器镜像有一个官方的类比,"生活中常见的集装箱",虽然拥有不同的规格,但箱子本身是不可变的(Immutable),只是其中装的内容不同。 对于镜像来说,不变的部分包含了运行一个应用软件(如 mysql

拐点已至,云原生引领数字化转型升级

隐身守侯 提交于 2021-01-24 01:48:52
作者 | 易立 阿里云资深技术专家 本文整理自易立在 2019 携程技术峰会上发表的题目为《拐点已至,云原生引领数字化转型升级》的演讲。 关注“阿里巴巴云原生”公众号,回复关键词“转型”即可下载本文 PPT。 今天我跟大家分享的题目是“拐点已至,云原生引领数字化转型升级”。先做个简单的自我介绍,我叫易立,来自于阿里云容器平台,从 2015 年开始负责阿里云容器产品,之前在 IBM 工作 14 年,主要负责企业中间件和云计算的产品研发。 今天会跟大家分享我们对云原生领域的简单思考,以及我们对云原生发展四个趋势大概的介绍: 拥抱 Serverless – 极致弹性,无需运维; 服务网格 – 将服务治理能力与应用解耦,并下沉到基础设施层; 云原生应用管理标准化 – 构建高效、自动化和可信赖的应用交付体系; 计算无边界 – 实现云-边缘-IoT 设备的高效协同。 云原生基本概念 先简单介绍云原生一些基本的概念。 我们接触了很多的客户,对于这些客户而言,上不上云已经不是问题,他们关注的是该怎么上云?该如何充分利用云的能力、最大化云的价值?在 All in Cloud 的时代,企业的技术能力已经成为核心竞争力,他们非常愿意用云作为企业 IT 能力的增效器。 云原生计算是一组最佳实践和方法论,在公共云、专有云环境中,构建可伸缩、健壮、松耦合的应用,可以更加快速地创新和低成本试错;容器、服务网格

对容器镜像的思考和讨论

拜拜、爱过 提交于 2021-01-20 10:52:51
作者 | Liu,Bo 来源| 阿里巴巴云原生公众号 前言 常言道,startup 有 startup 的好,大厂有大厂的好,那么大厂究竟好在哪呢?拿硅谷老牌大厂们 FLG 来说,如果要问最令人怀念的是什么?Free food 和基础设施(Infrastructure)一定是会上榜的,两者均极大提升了广大应用开发者的幸福指数。那么能不能“让天下没有难做的应用”呢?请大家把目光投向正在兴起的云原生生态。 在云原生生态中,容器服务包括了镜像和容器引擎两个部分。其中容器镜像作为核心的云原生应用制品,打包了完整的操作系统和应用运行环境,应用的迭代也因为使用了这种不可变架构而变得更简单,更频繁。 本文将围绕着容器镜像这一核心,分享它的相关知识和业界的思考与实践。 容器镜像的概念 1)容器镜像 容器镜像有一个官方的类比,"生活中常见的集装箱",虽然拥有不同的规格,但箱子本身是不可变的(Immutable),只是其中装的内容不同。 对于镜像来说,不变的部分包含了运行一个应用软件(如 mysql)所需要的所有元素。开发者可以使用一些工具(如 Dockerfile)构建出自己的容器镜像,签名并上传到互联网上,然后需要运行这些软件的人可以通过指定名称(如 example.com/my-app )下载、验证和运行这些容器。 2)OCI 标准镜像规范 在 OCI 标准镜像规范出台之前

技术干货 | Docker 容器逃逸案例汇集

女生的网名这么多〃 提交于 2020-11-21 23:52:37
当获得一个Webshell,我们的攻击点可能处于服务器的一个虚拟目录里,一台虚拟机或是一台物理机,甚至是在一个Docker容器里。 假设,Webshell就处于Docker容器里,该如何破局,进一步获取目标主机权限呢? Docker 容器逃逸案例: 1、判断是否处于docker容器里 2、配置不当引起的逃逸 Docker Remote API 未授权访问 docker.sock 挂载到容器内部 docker 高危启动参数 privileged 特权模式 挂载敏感目录 相关启动参数存在的安全问题 3、Docker 软件设计引起的逃逸 Shocker攻击 runC容器逃逸漏洞(CVE-2019-5736) Docker cp 命令(CVE-2019-14271) 4、内核漏洞引起的逃逸 脏牛漏洞(dirtycow-docker-vdso) 一、判断是否在docker容器里 首先,我们需要先判断是否在docker环境里,常用的两个检测方式: 检查/.dockerenv文件是否存在 检查/proc/1/cgroup内是否包含"docker"等字符串。 目前来说,这两种检测方式还是比较有效的,其他检测方式,如检测mount 、 fdisk -l查看硬盘 、 判断PID 1的进程名等也可用来辅助判断。 二、配置不当引发的docker逃逸 2.1 docker remote api未授权访问

Docker不再是唯一的选择

泪湿孤枕 提交于 2020-11-20 08:35:35
Docker并不是唯一的容器化工具,可能还有更好的选择…… 在容器的早期时代(其实更像是4年前),Docker是容器游戏中唯一的玩家。但现在情况已经不一样了,Docker不再是唯一的一个,而只是其中一个容器引擎而已。Docker允许我们构建、运行、拉、推或检查容器镜像,然而对于每一项任务,都有其他的替代工具,甚至可能比Docker做得还要好。所以,让我们探索一下,然后再卸载(只是可能),直至完全忘记Docker…… 那,为什么不再用Docker了? 如果你已经使用Docker很长时间了,估计要真正说服你去考虑其他工具,得先提供些依据。 首先,Docker是一个单体工具。它尝试去涵盖所有的功能,通常这并不是最佳实践。大多数情况下,我们都是只选择一种专门的工具,它只做一件事,并且做得非常好,非常精。 如果害怕切换到不同的工具集是因为将不得不学习使用不同的CLI、API或者说不同的概念,那么这不会是一个问题。本文中展示的任何工具都可以是完全无缝的,因为它们(包括Docker)都遵循OCI (Open Container Initiative)下的相同规范。它们包含了容器运行时、容器分发和容器镜像的规范,其中涵盖了使用容器所需的所有特性。 有了OCI,你可以选择一套最符合你需求的工具,同时你仍然可以享受跟Docker一样使用相同的API和CLI命令。 所以,如果你愿意尝试新的工具

关于Kubernetes规划的灵魂n问

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

Docker 逃逸小结第一版

偶尔善良 提交于 2020-10-26 05:34:14
作者:tom0li 本文为作者投稿,Seebug Paper 期待你的分享,凡经采用即有礼品相送! 投稿邮箱:paper@seebug.org 0x00 容器101 docker 启动的调用链如下: docker-client -> dockerd -> docker-containerd -> docker-containerd-shim -> runc(容器外) -> runc(容器内) -> containter-entrypoint Docker利用Linux Namespace实现了操作系统级的资源隔离. 逃逸思路: 用户层 : 用户配置不当 服务层 : 容器服务自身缺陷 系统层 : Linux内核漏洞 判断容器命令(不是全部适用) systemd-detect-virt -c sudo readlink /proc/1/exe 0x01 用户配置不当导致隔离失效 前提: root权限启动docker 主机上有镜像,或自己下载镜像 API版本大于1.5 查看client server 版本信息 0x01.1 docker.sock暴露到公网 docker swarm简述 docker swarm是管理docker集群的工具。主从管理、默认通过2375端口通信。绑定了一个Docker Remote API的服务,可以通过HTTP、Python、调用API来操作Docker。