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

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 快速学习容器技术基础,课程将从容器技术基础开始,阐述容器技术是如何基于 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

 

相关文章
|
7天前
|
运维 Kubernetes Cloud Native
云原生技术:容器化与微服务架构的完美结合
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其灵活性和高效性成为企业的新宠。本文将深入探讨云原生的核心概念,包括容器化技术和微服务架构,以及它们如何共同推动现代应用的发展。我们将通过实际代码示例,展示如何在Kubernetes集群上部署一个简单的微服务,揭示云原生技术的强大能力和未来潜力。
|
9天前
|
运维 持续交付 Docker
深入理解Docker容器化技术
深入理解Docker容器化技术
|
5天前
|
安全 持续交付 云计算
揭秘云计算中的容器化技术及其优势
揭秘云计算中的容器化技术及其优势
11 1
|
6天前
|
缓存 监控 开发者
掌握Docker容器化技术:提升开发效率的利器
在现代软件开发中,Docker容器化技术成为提升开发效率和应用部署灵活性的重要工具。本文介绍Docker的基本概念,并分享Dockerfile最佳实践、容器网络配置、环境变量和秘密管理、容器监控与日志管理、Docker Compose以及CI/CD集成等技巧,帮助开发者更高效地利用Docker。
|
8天前
|
Kubernetes Cloud Native Docker
云原生技术探索:容器化与微服务的实践之道
【10月更文挑战第36天】在云计算的浪潮中,云原生技术以其高效、灵活和可靠的特性成为企业数字化转型的重要推手。本文将深入探讨云原生的两大核心概念——容器化与微服务架构,并通过实际代码示例,揭示如何通过Docker和Kubernetes实现服务的快速部署和管理。我们将从基础概念入手,逐步引导读者理解并实践云原生技术,最终掌握如何构建和维护一个高效、可扩展的云原生应用。
|
9天前
|
Cloud Native 持续交付 Docker
Docker容器化技术:从入门到实践
Docker容器化技术:从入门到实践
|
10天前
|
存储 Kubernetes 调度
基于容器化技术的性能优化实践
基于容器化技术的性能优化实践
23 3
|
20天前
|
存储 持续交付 虚拟化
|
9天前
|
数据中心 开发者 Docker
理解并实践Docker容器化技术
理解并实践Docker容器化技术
|
17天前
|
人工智能 Anolis 开发者