容器技术基础(2)| 学习笔记

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 快速学习容器技术基础,课程将从容器技术基础开始,阐述容器技术是如何基于 linux 内核当中的 Namespace、Cgroups 等技术得以实现及Docker 容器的发展背景和基础知识,并对容器运行时、OCI、CRI和 Kubernetes 之间的关系展产生新的认知。

开发者学堂课程【现代应用容器技术快速入门第二课时:容器技术基础(2)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/830/detail/13951


容器技术基础(2


本节内容

1.   Dockor 系统组件

2.   Docker 镜像

3.   Docker 容器

4.   Docker Registry

5.   Docker 容器的状态数据存储

6.   存储卷

7.   将容器接入网络

8.   Docker 网络


1.Dockor 系统组件

•       Docker 系统有三个关键组件.

–       pocker cLl

–       Docker Daemon

–       Registry

•       Docker Daemon

–       REST API

–       Objects

•       lmage

•       Container

•       Volume

•       Network

image.png


2.Docker 镜像

•       运行容器时,基于Mount 名称空间建立的隔离文件系统中的内容来自镜像

–       Docker 镜像是一个特殊的文件系统,它必须包含运行应用程序所需的一切——所有依赖项、配置、脚本、二进制文件等

–       镜像还包含容器的其他配置,例如环境变量、要运行的默认命令、和其他元数据

–       通常,镜像还要定义默认启动的应用

•       Docker 镜像由许多层( Layer)叠加而成

–       依赖于特殊的存储驱动,例如aufs、devicemapper.overlay2等

–       尽管每种存储驱动程序实现的管理方式不尽相同,但它们都使用可堆叠的镜像层和写时复制( CoW)策略

image.png


3.Docker 容器

•       运行有Docker Daemon 的主机负责管理本地容器实例的生命周期

–       Docker Daemon 通过其监听的Socket API 接收Docker 对象的管理请求,包括容器的生命周期中的各类管理操作

–       容器实例的创建要基于本地存储的Docker镜像进行

–       实例启动后,要在前台( foreground,不能转为守护进程模式)运行镜像中定义的默认应用,或用户指定的应用

•       创建容器时,指定了本地不存在的镜像时,则需要由Docker Daemon 自动至Registry 上进行下载

–       Docker Daemon 默认使用的Registry是DockerHub


4.Docker Registry

•       The Registry is a stateless, highly scalable server side application that stores and lets you
distribute Docker images.

image.png

 

•       Registry 上的镜像存储于“仓库(Repository)”中,仓库可隶属于根名称空间或特定的名称空间

–       每个镜像由仓库名:标签名标识

–       也可由镜像的Hash码标识

image.png

 

5.Docker 容器的状态数据存储

•       对于容器实例来说,底层的Docker 镜像处于只读状态,进程的读写操作只能在创建容器时生成的叠加于镜像栈最上层的可写层中进行,该层也称为容器层

•       根据同一镜像,Docker 能够创建出运行环境完全一致的容器,在容器中添加新数据或修改现有数据的结果,都存储在由容器附加在镜像栈顶的可写层中

•       删除容器,将一同删除其可写层,这将导致容器生成的状态数据全部丢失

image.png

 

6.存储卷

•       存储卷

–       支持使用存储卷(Volume)技术来绕过存储驱动程序,将数据存储在宿主机可达的存储空间上,以实现跨容器生命周期的数据持久性

–       也支持使用卷驱动器(Docker引擎上的存储卷插件)将数据直接存储于远程存储设备上,以实现跨主机生命周期的数据持久性

image.png

 

7.将容器接入网络

•       将容器接入网络通常要经由这样几个步骤

        1.好相应的容器网络,通常是虚拟网络;

–       单机的桥接式网络

–       跨主机的Overlay Underlay 网络2.为每个容器配置一个独占的Network 名称空间;
3.
为容器添加专用的接口设备,并将其接入到容器网络中;
4.
为容器接分配相应的IP地址及其它网络属性值,并按需生成NAT 规则;

image.png

 

8.Docker 网络

•       Docker 默认支持4种网络模式

–       host 模式

–       container 模式

–       none 模式

–       bridge 模式

image.png

 

目录
打赏
0
1
0
0
12313
分享
相关文章
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。
|
29天前
|
CentOS停更沉寂,RHEL巨变限制源代:Docker容器化技术的兴起助力操作系统新格局
操作系统是计算机系统的核心软件,管理和控制硬件与软件资源,为用户和应用程序提供高效、安全的运行环境。Linux作为开源、跨平台的操作系统,具有高度可定制性、稳定性和安全性,广泛应用于服务器、云计算、物联网等领域。其发展得益于庞大的社区支持,多种发行版如Ubuntu、Debian、Fedora等满足不同需求。
62 4
深入理解容器化技术:Docker与Kubernetes的协同工作
深入理解容器化技术:Docker与Kubernetes的协同工作
85 14
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
75 4
Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式
本文探讨了Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式,以及软件负载均衡器、云服务负载均衡、容器编排工具等实现手段,强调两者结合的重要性及面临挑战的应对措施。
104 3
深入理解容器化技术及其在微服务架构中的应用
深入理解容器化技术及其在微服务架构中的应用
79 1
深入理解并实践容器化技术——Docker 深度解析
深入理解并实践容器化技术——Docker 深度解析
86 2
荣获2024年AI Cloud Native典型案例,阿里云容器产品技术能力获认可
2024全球数字经济大会云·AI·计算创新发展大会,阿里云容器服务团队携手客户,荣获“2024年AI Cloud Native典型案例”。
深入探索容器化技术——Docker 的实战应用
深入探索容器化技术——Docker 的实战应用
125 0
深入理解并实践容器化技术——Docker篇
深入理解并实践容器化技术——Docker篇
62 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等