Docker
文章平均质量分 95
oceanweave
这个作者很懒,什么都没留下…
展开
-
【容器文件系统】了解容器 overlay 文件系统和 /var/lib/docker/overlay2下目录的作用
在讲 overlay2 之前,我们需要先简单了解下什么是 rootfs:rootfs 也叫根文件系统,是 Linux 使用的最基本的文件系统,是内核启动时挂载的第一个文件系统,提供了根目录,根文件系统包含了系统启动时所必须的目录和关键性文件,以及使其他文件系统得以挂载所必要的文件。在根目录下有根文件系统的各个目录,例如 /bin、/etc、/mnt 等,再将其他分区挂载到 /mnt,/mnt 目录下就有了这个分区的各个目录和文件。原创 2023-04-28 17:01:11 · 6356 阅读 · 2 评论 -
【容器运行时-转载】从 Linux 进程的角度看 Docker
以上的所有内容,就是为 Docker 原理准备的基本内容。总结一下,有 Linux 进程的 fork、exec、task_struct 以及 namespace。下面,我们会来介绍 Linux 进程与 Docker 的关系。转载 2023-03-06 11:14:36 · 511 阅读 · 0 评论 -
【容器运行时-转载】k8s 1.20 后 containerd 的变化(containerd-shim父进程为1号进程)
这件事困扰了我很久,现在终于有时间来一探究竟了。Kubernetes 自从 1.20 版废除对 dockershim 的支持,改用作为默认的容器运行时。我们使用ps我们会发现了一个奇怪的现象,containerd 进程是由 PID 1 号进程 systemd 托管,所以 containerd 进程的父进程 ID(PPID)毫无疑问就是 1;转载 2023-03-06 11:10:55 · 618 阅读 · 0 评论 -
【容器运行时-转载】为什么需要 containerd
可以看出,在容器技术逐步标准化后,containerd 在相关的技术栈中将占据非常重要的地位,containerd 提供的核心服务很可能成为底层管理容器的标准。届时,更上层的容器化应用平台将直接使用 containerd 提供的基础服务。Containerd小尝containerd。转载 2023-03-06 11:08:33 · 448 阅读 · 0 评论 -
【容器运行时-转载】RunC 是什么?
RunC 作为标准化容器运行时的一个实现目前已经被 docker 内置为默认的容器运行时。相信随着 runC 自身的成熟和完善会有越来越多的大厂把 runC 作为默认的容器运行时。OCI和runc容器标准化和dockerOCI标准和runC原理解读。转载 2023-03-06 11:07:22 · 992 阅读 · 0 评论 -
【容器运行时】一文理解 OCI、runc、containerd、docker、shim进程、cri、kubelet 之间的关系
方法 https://github.com/containerd/containerd/blob/v1.4.3/runtime/v2/runc/v2/service.go#L174-L286。结合源码 https://github.com/containerd/containerd/blob/v1.4.3/runtime/v2/shim/shim.go#L221-L229。可以看出,containerd是containerd-shim的父进程,contaienrd-shim是容器进程的父进程。原创 2023-03-06 11:02:15 · 3304 阅读 · 2 评论 -
【Docker rwm权限】docker 的创建设备文件权限 m(mknod)
我们的linux操作系统跟外部设备(如磁盘、光盘等)的通信都是通过设备文件进行的,应用程序可以打开、关闭、读写这些设备文件,从而对设备进行读写,这种操作就像读写普通的文件一样easy。默认的seccomp配置文件将根据所选的功能进行调整,以允许使用功能所允许的功能,所以从Docker1.12之后的版本,不应该对此进行调整。时,将允许Docker容器访问宿主机上的所有设备,并在AppArmor或SELinux中设置一些配置,使容器内的进程可以与容器外运行的进程几乎一样权限来访问宿主机。对功能进行细粒度控制。原创 2023-01-06 14:25:44 · 1812 阅读 · 0 评论 -
【Docker capability】docker capability 属性功能介绍(docker运行时权限、Linux系统功能)
出于容器之间和容器与宿主机的安全隔离保护,在默认的Docker配置下,Docker容器是没有系统权限的。这是因为在默认情况下,容器内的进程不允许访问任何宿主机上的设备。默认的seccomp配置文件将根据所选的功能进行调整,以允许使用功能所允许的功能,所以从Docker1.12之后的版本,不应该对此进行调整。时,将允许Docker容器访问宿主机上的所有设备,并在AppArmor或SELinux中设置一些配置,使容器内的进程可以与容器外运行的进程几乎一样权限来访问宿主机。如果想限制对特定设备的访问,可以使用。转载 2023-01-05 18:07:10 · 1332 阅读 · 0 评论