| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 全面的Docker 系统性入门+进阶实践(2021最新版)MK -> 正文阅读 |
|
[系统运维]全面的Docker 系统性入门+进阶实践(2021最新版)MK |
提取码:45on 一、Docker概述Docker是什么?我们看下官方是怎么定义的。 Docker 是一个开源的 应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个 可移植的镜像中,然后发布到任何流行的Linux或Windows 机器上,也可以实现 虚拟化。 下文会对这些关键词做讲解。 1.1 什么是容器? 容器技术是一种虚拟化的方案。容器虚拟化也就是操作系统级别的虚拟化,只能运行相同或相似内核的操作系统。Docker使用的容器技术依赖于Linux内核的Namespaces和Cgroups,这两个技术就是为了让操作系统资源被区隔成独立区间。 Docker能够将开发的应用程序自动部署到容器。 前面提到,Docker依赖的Linux内核特性:
NameSpace 为确保提供的是轻量级虚拟化服务,Docker使用了NameSpace。命名空间提供了系统资源的隔离,资源包括进程、网络、文件系统等。 在同一个Namespace下的进程可以感知彼此的变化,而对其他的Namespace一无所知。让容器置身于独立的系统环境中。 Namespace的种类 :
Controller groups 是一种Linux提供用于限制,控制,管理资源的机制。 cgroups的功能:
1.2 虚拟化技术 虚拟化技术就是一种计算机资源管理技术,将内存,网络,CPU等资源进行抽象,让硬件透明,目的是让用户合理地使用操作系统资源。 1.3 虚拟机与容器的区别 图片来源于Docker官网 相比于轻量级的容器,虚拟机会让原本只需要几十兆的应用却要动用几个G的庞然大物(操作系统)去支持。虚拟机需要模拟硬件的行为,会占用更多的资源。因为容器虚拟化了操作系统而不是硬件,导致便携性和效率更高。 1.4 Docker的目标
1.5 Docker的使用场景
二、Docker的基本组成首先从整体出发,观察docker的架构。 图片来源于网络 不难发现,docker由内到外是docker daemon(守护进程),docker client(客户端),container(容器),image(镜像),network(网络),data volumes(数据卷)。下面章节也会按照这些点进行各个突破。 Docker的基本组成有:
2.1 Docker Client 客户端 & Docker Daemon 守护进程 基于C/S架构,简单来说,就是Docker客户端向守护进程发送请求,守护进程处理后会返回结果。Docker的C/S架构在下一篇文章会详细介绍。 2.2 Docker Image镜像 镜像是容器的基石,容器基于镜像启动和运行。镜像保存的容器启动的各种条件。Docker Image是一个层叠的只读文件系统。 如上图所示,容器启动时,从下而上加载需要的镜像,镜像被依次移到内存中,最后,bootfs(引导文件系统)会被卸载。 一个镜像可以放到另一个镜像的顶部,称为下一个镜像的父镜像。最底部的镜像称为基础镜像。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 5:52:58- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |