• 2024-09-23Docker入门实践(二)
    环境VMwareWorkstationProubuntu-23.04常用命令启动dockersystemctlstartdocker重启dockerservicedockerrestart查看docker版本dockerversionClient:DockerEngine-CommunityVersion:25.0.2APIversion:1.44Goversion:
  • 2024-08-21Docker无法运行java虚拟机报错There is insufficient memory for the Java Runtime
    镜像导入到docker后无法启动容器的问题,但是上传到别的服务器上面又可以正常启动容器,报错信息如下:#ThereisinsufficientmemoryfortheJavaRuntimeEnvironmenttocontinue.#CannotcreateGCthread.Outofsystemresources.#Cannotsavelogfile,dumptoscree
  • 2024-06-08Docker与银河麒麟的兼容性问题
    Docker与银河麒麟的兼容性问题背景大过节的出差.客户想迁移环境,优先使用银河麒麟的系统.有一个需要使用容器docker运行nginx的的需求结果发现被坑的很惨.所以记录一下问题以及解决方案安装完docker后发现dockerrun提示没有权限.docker:Errorresponsefr
  • 2024-05-28docker containerd runc containerd-shim等组件的关系
    早期kubelet创建容器工作原理因为docker出生的比k8s早,所以k8s早期的容器运行时都是基于docker的,kubelet通过docker的api创建容器。后来,k8s官方不想绑死在docker这架马车上,就把容器运行时抽象出来,定义了一个接口,叫CRI(containerruntimeinterface),容器
  • 2024-05-28容器启动流程(containerd 和 runc)
    启动流程containerd作为一个api服务,提供了一系列的接口供外部调用,比如创建容器、删除容器、创建镜像、删除镜像等等。使用docker和ctr等工具,都是通过调用containerd的api来实现的。kubelet通过cri调用containerd和这些不一样,后续我会介绍到。containerd
  • 2024-05-24Docker系列---【/usr/bin/docker-current: Error response from daemon: shim error: docker-runc not install
    1.报错信息dockerrun创建新容器时报错/usr/bin/docker-current:Errorresponsefromdaemon:shimerror:docker-runcnotinstalledonsystem.2.解决方案[root@localhost~]#cd/usr/libexec/docker/[root@localhost~]#sudoln-sdocker-runc-currentdocker-runc
  • 2024-05-21Containerd-chep3-运行思路
    本文致力于梳理containerd的架构与运行原理。参考文章:https://github.com/containerd/containerd/blob/main/core/runtime/v2/README.mdhttps://www.cnblogs.com/zhangmingcheng/p/17524721.html核心运行思路containerd使用Runtimev2并引入shimAPI,使得containerd可以和很
  • 2024-05-06Containerd-chep1-安装
    本文致力于深入学习Contaienrd并整理。参考官方文档依赖与限制独立使用containerd依赖于runc与CNIplugins,可采用cri-containerd-cni-1.7.16-linux-amd64.tar.gz完整包安装,或拆分后各自安装。containerd是为基于glibc的Linux发行版动态构建的,所以musl类的如Alpine则可能无法
  • 2024-04-16docker启动报setclasspath.sh文件找不到处理方式
    运动tomcat容器报错​从dockerhub官方拉的镜像,按理说应该不会是没有这个文件,/bin/bash启动了一下,将/usr/local/tomcat路径下的文件cp到本机,发现setclasspath.sh存在​dockercp容器TD:/usr/local/tomcat/data/tomcat1但是为什么找不到呢看到了这个文章,就试了一下,问题解决了
  • 2024-02-25docker使用btrfs存储驱动
    ubuntu22环境1.ddif=/dev/zeroof=btrfs.imgbs=1mcount=20002.losetup/dev/loop16btrfs.img3.aptinstallbtrfs-progs4.mkfs.btrfs-f/dev/loop165.mount-tbtrfs/dev/loop16/var/lib/docker6.root@nmx-virtual-machine:/home/nmx#df-TFilesystemType1K
  • 2024-02-23containerd环境搭建指南
    目录一.container概述1.什么是containerd2.为什么要学习containerd二.基于yum方式安装containerd1.获取软件源2.查看yum源中containerd软件版本3.安装containerd的4.查看containerd的版本信息5.设置containerd开机自启动6.查看containerd的客户端和服务端的版本信息三.基于二进制
  • 2024-02-21【CVE-2024-21626】容器逃逸漏洞修复
    哈喽大家好,我是咸鱼。好久不见,最近有一个很火的CVE——runc容器逃逸漏洞。年前的时候我们已经在测试环境进行了相关操作打算年后线上进行修复。因为今天咸鱼才开工,所以文章也就拖到了现在
  • 2024-02-04云小课|Runc容器逃逸漏洞(CVE-2024-21626)安全风险通告
    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。runc官方发布安全公告,披露runc1.1.11及更早版本中存在容器逃逸漏洞,攻击者会利用该漏洞导致容器逃逸
  • 2024-01-25runc网络与systemd管理runc应用
    1.创建网络命名空间ipnetnsadd<ns>#ns是自定义网络空间名#例如:ipnetnsaddhaproxy#创建一个给haproxy使用的网络命名空间#新增一个网络空间会在/var/run/netns/目录下生成和网络空间同名的文件2.创建虚拟网络设备对iplinkadd<vname1>typevethpeer
  • 2023-12-07容器启动流程(containerd 和 runc)
    启动流程containerd作为一个api服务,提供了一系列的接口供外部调用,比如创建容器、删除容器、创建镜像、删除镜像等等。使用docker和ctr等工具,都是通过调用containerd的api来实现的。kubelet通过cri调用containerd和这些不一样,后续我会介绍到。containerd创建容
  • 2023-12-06docker拉取镜像错误missing signature key
    Centos7,使用docker拉取的时候,报错信息:missingsignaturekey解决:1、复制下面的内容yumerasedocker\docker-client\docker-client-latest\docker-common\docker-latest\
  • 2023-11-08Docker引擎架构
    Docker引擎架构1.Docker引擎的发展1.1Docker引擎首次发布时Docker首次发布时,Docker引擎由两个核心组件组成:LXC和DockerdaemonDockerdaemon是单一的二进制文件,包含诸如Docker客户端、DockerAPI、容器运行时、镜像构建等。LXC提供对诸如命名空间(Namespace)和控制组(CGroup)
  • 2023-10-31银河麒麟在线升级新版本docker
    银河麒麟在线升级新版本docker卸载学习来自:https://cloud.tencent.com/developer/article/1491742yumremovedocker\docker-ce\docker-client\docker-client-latest\docker-common\
  • 2023-10-17容器运行时
    容器运行时是一个负责运行和管理容器的软件。它负责创建、启动、停止和监控容器。它也负责为容器提供和宿主机器隔离的运行环境,包括文件系统、网络堆栈、进程空间等。有多种类型的容器运行时,包括:Docker:这可能是最为人所知的容器运行时。Docker通过简化容器的创建和管理,使得容器技
  • 2023-09-19容器技术:容器运行时
    什么是运行时(runtime)?runtime指的是程序执行时所需要的环境,以确保程序能够在特定的环境中正确运行;runtime为程序提供运行所需要的各种功能和支持,包括但不限于操作系统、编程语言的运行时库、虚拟机或解释器;Java程序文件就好比是容器镜像文件,JVM则好比是runtime,运行起来的Java程序
  • 2023-09-08docker containerd runc 介绍
    containerd提供了一组运行容器的API。Docker引擎通过调用GRPCAPI来启动执行进程,随后会启动管理器和执行器来负责监控和运行容器。容器最后通过runC来运行,runC也是Docker的另一个开源项目,它实现了OCI运行时标准。(OCI:开放容器协议,OCI开发了runC)。runC是一套符合OCI标准的
  • 2023-08-06CentOS8安装Docker报错问题解决
    问题描述CentOS版本:8.5.2111。#cat/etc/redhat-releaseCentOSLinuxrelease8.5.2111安装准备:#安装所需软件包sudoyuminstall-yyum-utilsdevice-mapper-persistent-datalvm2#设置docker仓库:推荐阿里云sudoyum-config-manager--add-repohttp://mirrors.al
  • 2023-07-04Containerd组件 —— containerd-shim-runc-v2作用
    1、概述通过《浅析开源容器标准——OCI》、《浅析容器运行时》和《浅析KubernetesCRI》这三篇博文我们了解了容器标准OCI、容器运行时以及KubernetesCRI,在本文以当前最火的容器运行时containerd为例,讲解下它是如何运行和管理容器进程的。在讲解containerd是如何运行和
  • 2023-06-21容器引擎选择:功能、性能与生态系统的综合考量
    写在开篇在K8S中,容器引擎的角色和功能是非常重要的,容器引擎负责管理和运行容器化应用,它是将应用打包为容器的基础设施。所以,给应用选择适合的容器引擎也是至关重要的问题,本篇就来聊一聊。本文涉及的相关链接:https://cri-o.io/https://containerd.io/https://kubernetes.
  • 2023-06-20浅析容器运行时
    1、概述首先要明确一个知识点就是容器本质上就是一个特殊的进程,通过Namespace实现资源(网络、文件系统等)隔离,通过Cgroups实现资源(CPU、内存)限制,让我们使用起来就感觉像在操作虚拟机一样,但其和虚拟机有本质上的区别,那就是容器和宿主机是共享同一个内核的。为了将我们的应用进程