docker的宿主系统是centos,为啥可以运行ubuntu的镜像

author author     2023-04-08     783

关键词:

首先需要区分Linux内核与Linux发行版

Linux内核是Linux操作系统的核心, 负责硬件管理, 比如管理内存、管理磁盘(文件系统)、管理CPU(进程)等等...
Linux发行版是在Linux内核的基础上添加了一些工具软件,比如图形界面、函数库、软件包管理系统等等...

CentOS与Ubuntu是不同的Linux发行版, 它们都是基于Linux内核, 只是添加的工具软件不同。比如, 他们的软件包管理系统不同, CentOS使用yum命令安装软件, 而Ubuntu使用apt-get命令安装软件。

因此CentOS与Ubuntu的内核是相同的(版本可能不同), 只是所安装的软件不同, 即文件系统不同。

Docker容器技术是基于Linux内核实现的, 它主要用到了两个内核模块:

Namespace: 用于容器的隔离, 例如PID Namespace使得容器中的进程无法感知宿主机以及其他容器中的进程。
Cgroups: 用于容器的资源控制, 比如限制容器所使用的内存大小或者CPU个数。

在CentOS上运行基于Ubuntu镜像的容器时, 容器使用了CentOS主机的内核以及Ubuntu镜像, Ubuntu镜像中安装了Ubuntu的各种软件(apt-get)。
参考技术A Linux内核是Linux操作系统的核心, 负责硬件管理, 比如管理内存、管理磁盘(文件系统)、管理CPU(进程)等等...
Linux发行版是在Linux内核的基础上添加了一些工具软件,比如图形界面、函数库、软件包管理系统等等...
CentOS与Ubuntu是不同的Linux发行版, 它们都是基于Linux内核, 只是添加的工具软件不同。比如, 他们的软件包管理系统不同, CentOS使用yum命令安装软件, 而Ubuntu使用apt-get命令安装软件。
因此CentOS与Ubuntu的内核是相同的(版本可能不同), 只是所安装的软件不同, 即文件系统不同。
Docker容器技术是基于Linux内核实现的, 它主要用到了两个内核模块:
Namespace: 用于容器的隔离, 例如PID Namespace使得容器中的进程无法感知宿主机以及其他容器中的进程。
Cgroups: 用于容器的资源控制, 比如限制容器所使用的内存大小或者CPU个数。
在CentOS上运行基于Ubuntu镜像的容器时, 容器使用了CentOS主机的内核以及Ubuntu镜像, Ubuntu镜像中安装了Ubuntu的各种软件(apt-get)。
建议看看《Linux就该这么学》
参考技术B docker是类似于虚拟机的一种技术,但不同于虚拟机的是,虚拟机是将整个平台从(pass层)与物理机隔离,而docker是将应用(sass层)隔离,与物理机是什么系统无关

嵌入式系统开发为啥要采用交叉编译的方式

由于宿主机和目标机的体系结构不同,在宿主机X86平台上可以运行的程序在目标机ARM平台上无法运行,因此嵌入式软件开发采用交叉编译方式在一个平台上生成可以在另一个平台上执行的代码。编译的最主要的工作就是将程序转... 查看详情

centosubuntudocker镜像通用吗

centosubuntudocker镜像通用,docker会先从本地寻找ubuntu镜像,存在那么就启动,如果不存在,那么docker就会从默认的镜像仓库中下载出ubuntu镜像。参考技术Acentosubuntudocker镜像通用,镜像系统复用了宿主系统,ubuntu和centos在很多地方... 查看详情

docker(代码片段)

Docker基本概念使用DockerToolBox工具进行常规操作的时候,我们需要明白容器和镜像的概念:宿主机,Host,运行Docker所在的物理机,是Docker运行的系统环境镜像,Image,相当于一个程序模板,通过这个模板可以生成很多个相似的容... 查看详情

关于docker的一点总结

Docker简介Docker是一个开源的应用容器引擎,可以把应用以及依赖包放到一个可移植的容器中,然后发布到任何流行的Linux系统上,通过这种方式实现虚拟化。可以看出,Docker和VM比较,用Docker引擎替代了Hyper-v,没有GuestOS,应用是... 查看详情

docker:docker性质及版本选择[三](代码片段)

一、Docker的性质  Docker的组成其实很简单。你需要搭建registry,专属于你自己的私有仓库,然后就是docker的镜像和docker的容器。Docker的镜像,就类似与windos的系统盘,你只有有了它,你才能够跑起来容器。      Dock... 查看详情

生产环境,测试环境中,docker可以做啥

参考技术A生产环境,测试环境中,Docker可以做什么Docker是容器管理工具Docker是一个轻量级、便携式、与外界隔离的容器,也是一个可以在容器中很方便地构建、传输、运行应用的引擎。和传统的虚拟化技术不同的是,Docker引擎... 查看详情

docker快速入门(代码片段)

Docker是一个开源的容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化。简单来说,Docker是一种近来很流行的虚拟化技术。DockerVS传统虚拟化... 查看详情

docker基础学习一

    docker介绍    1、docker是什么?  docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖到一个可移植的容器中。  然后发布到任何一个linux系统上面。   特点:  docker容器启动和... 查看详情

docker介绍

Docker的基本概念: 镜像(Image)镜像,从认识上简单的来说,就是面向对象中的类,相当于一个模板。从本质上来说,镜像相当于一个文件系统。Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配... 查看详情

docker容器操作(代码片段)

目录Docker容器操作容器部署迁移备份Docker容器操作dockerps#查看正在运行的容器#########dockerps–a#查看所有容器(暂停的,停止,正在运行的。。。)##########dockerps–l#查看最后一次运行的容器dockerps-fstatus=exited#查看停止的容器#重... 查看详情

docker(代码片段)

入门到精通"""1)docker就是Linux上极其轻量的虚拟机?2)虚拟机是存在宿主系统中,通过镜像给宿主系统拓展子系统的(一个镜像理论上可以做n个子系统)?3)两个特别重要的概念image:镜像container:容器(子系统)4)工作方式:i)... 查看详情

以宿主机用户身份运行docker容器(代码片段)

本文更新于2023-02-27,使用Docker23.0.1,操作系统为Debian11。Docker与宿主机共享同一个系统内核,容器是以root用户身份运行的,如果挂载了磁盘卷,则容器往磁盘卷创建文件的时候,宿主机的文件所有者就是root用户。下文阐述如何... 查看详情

docker的安装及操作

Docker的基本概念一镜像(Image)  镜像,从认识上简单的来说,就是面向对象中的类,相当于一个模板。从本质上来说,镜像相当于一个文件系统。Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源... 查看详情

docker-容器操作(代码片段)

查看容器查看正在运行的容器dockerps查看所有容器dockerps–a查看最后一次运行的容器dockerps–l查看停止的容器dockerps-fstatus=exited创建与启动容器启动容器(基于image启动)dockerrun常用参数说明:-i:表示运行容器-t:表示容器... 查看详情

docker——三剑客之dockermachine

DockerMachine是Docker官方三剑客项目之一,负责使用Docker的第一步,在多种平台上快速安装Docker环境。它支持多种平台,让用户在很短时间内搭建一套Docker主机集群。Machine项目是Docker官方的开源项目,负责实现对Docker主机本身进行... 查看详情

了解docker看这一篇试试吧

1.初始docker1.1docker概念Docker是一个管理容器的软件,容器:可以理解为"没有操作系统内核的虚拟机",容器的运行需要借助宿主机的操作系统内核Docker可以运行在MAC、Windows、CentOS、UBUNTU等操作系统上,1.2安装docker官网:h... 查看详情

docker多宿主互联

在之前的docker简介中介绍了一些docker基础的操作,在涉及到多台不同的宿主机上运行docker时应该如何使他们之间进行通信呢,这是这篇文章的主要内容。docker可以使用多种集群的解决方案,如k8s,mesos等,这个将在后面的内容中一... 查看详情

docker(代码片段)

讲到Docker不得不说下虚拟化在计算机术语中虚拟化技术或虚拟技术(Virtualization)是一种资源管理技术,它虚拟的是整个PC硬件。也就是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现... 查看详情