首页 > 系统相关 >在Docker中,docker run指令执行后,生成了哪些进程?

在Docker中,docker run指令执行后,生成了哪些进程?

时间:2024-03-05 09:11:33浏览次数:20  
标签:容器 run Containerd 进程 Docker docker

当执行 docker run 指令后,Docker 会启动一个新的容器实例。这个过程中会涉及多个进程和组件的交互。以下是 docker run 指令执行后生成的主要进程和组件:

  1. Docker Daemon(守护进程):

    • Docker Daemon 是 Docker 的后台服务,它长期运行并管理 Docker 容器、镜像、网络和卷等资源。
    • 当执行 docker run 指令时,客户端(CLI 或其他 Docker API 调用者)会向 Docker Daemon 发送请求。
  2. Docker Containerd:

    • Docker Containerd 是 Docker Daemon 的一部分,它负责容器的生命周期管理,如创建、启动、停止和删除容器。
    • 当 Docker Daemon 接收到 docker run 请求后,它会调用 Docker Containerd 来创建和启动容器。
  3. Docker Containerd-Shim:

    • Docker Containerd-Shim 是一个轻量级的进程,它作为容器运行时和 Docker Containerd 之间的中介。
    • 每个容器都会有一个与之关联的 Docker Containerd-Shim 进程,它负责监听容器的状态变化,并将这些变化报告给 Docker Containerd。
  4. 容器内进程:

    • 当容器启动时,它会根据 Dockerfile 中的 CMDENTRYPOINT 指令来运行一个或多个进程。
    • 这些进程是容器内的主要工作负载,它们执行容器所需的任务。
  5. 其他辅助进程

    (如需要):

    • 根据容器的配置和需要,可能还会启动其他辅助进程,如日志收集器、监控代理等。

综上所述,在 Linux 系统中,你可以使用 ps 命令或 docker top 命令来查看容器内的进程列表。这些命令会显示容器内正在运行的进程及其相关信息。需要注意的是,Docker 使用了 Linux 的内核特性(如 cgroups 和 namespaces)来实现进程隔离和资源限制,因此容器内的进程和宿主机上的其他进程是相互隔离的。

标签:容器,run,Containerd,进程,Docker,docker
From: https://www.cnblogs.com/huangjiabobk/p/18053236

相关文章

  • docker swarm集群创建
    dockerswarm集群创建sudodockerswarminit--advertise-addr127.0.0.1控制台展示Swarminitialized:currentnode(kgjpg7onmysbxvkufdc2l25xy)isnowamanager.Toaddaworkertothisswarm,runthefollowingcommand:dockerswarmjoin--tokenSWMTKN-1......
  • Docker常见面试题
    1.什么是Docker?Go语言开发,容器虚拟化技术,C/S架构,具有隔离、快速、轻便的特点。2.Docker与虚拟机有何不同?相比于虚拟机,docker更快速、轻便。快速:秒级启动轻便:联合文件系统3.Docker镜像是什么?联合文件系统。可以通过DockerFile构建或通过容器Commit生成。4.Docker容器是......
  • 机器视觉-使用AMD的ROCm加速yolo前提-windows10 安装docker
    docker环境准备:docker官网下载dockerdesktop的windows版本,并安装.安装后,启动DockerDesktop应用程序完成剩余的安装任务.如果报unabletodetectaHypervisor错误,使用管理员权限执行下面批处理文件,会安装Hyper-V相关组件,并重启电脑,重启后启用或关闭Wi......
  • [Rust] Using Box<dyn error::Error>> return one of miultiple error types at runti
    usestd::error;usestd::fmt;usestd::num::ParseIntError;fnmain()->Result<(),Box<dynerror::Error>>{letpretend_user_input="42";letx:i64=pretend_user_input.parse()?;println!("output={:?}",Po......
  • RunnerGo-基于Go的开源测试平台介绍及使用
    前言测试人员目前广泛使用的测试工具如Postman、JMeter等,如Postman缺少对API的性能测试部分、JMeter则缺少测试报告和测试脚本的统一管理系统及UI测试功能,而RunnerGo的出现填补了传统测试工具的空缺,为测试人员提供了一个可以满足测试全流程的测试工具,本文将介绍RunnerGo的功能特......
  • docker后端运行
    重点: 比如,redis就需要后台守护式启动:dockerrun-dredis有的就只能前台交互式启动,比如:dockerrun-itubuntu #使用鏡像centos:latest 以后台模式启动一·个容器docker run -d ubuntu: 然后 docker ps -a 行查看, 会发容器已经退出很重要的要說明的一点: ......
  • docker容器命令
      docker是基于linux内核的,必须需要linux系统才能运行起来。1.创建容器实例dockerrun[options]image[command][arg...] #启动交互式容器命令dockerrun-itubuntu/bin/bash  宿主机的端口:docker中的端口。 2.查看正在运行的容器dockerps【options】......
  • docker系列教程04---容器网络
    一、Docker不启动时默认的网络情况这里先把Docker停掉了,然后咱们ifconfig看一眼:ifconfig ens33不用多说了,lo为回环。这里可能还会有一个virbr0,在CentOS7的安装过程中如果有选择相关虚拟化的的服务安装系统后,启动网卡时会发现有一个以网桥连接的私网地址的virbr0网卡(virbr......
  • docker构建镜像
    Howtobuildadockerimage.本项目用于学习使用docker来构建镜像。这里我们使用docker来编译我们的一个c++项目然后生成一个docker镜像,并将镜像上传到自己的docker仓库,最后使用该镜像来运行我们的项目。0.cpp源文件介绍在src文件夹下面有一个cpp文件,实现了整数的加法,我们在......
  • 不会还有人不会用docker init吧?
    现在立刻马上给我停止编写Dockerfiles,改为使用dockerinit编写Dockerfileanddocker-compose配置文件!您是那些觉得写作Dockerfiles和docker-compose.yml文件很痛苦的人之一吗?至少我从来没有享受过。我总是想知道我是否遵循了最佳实践,并且在编写配置文件时是否在不知不觉中......