目录
docker介绍-docker安装
1 docker介绍
1.1 什么是虚拟化
在计算机中 虚拟化(Virtualization)是一种资源管理技术 是将计算机的各种实体资源 如服务器 网络 内存及储存等 予以抽象,转换后呈现出来 打破实体结构间不可切割的障碍 使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储
在实际生产环境中 虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用 透明化底层物理硬件 从而最大化的利用物理硬件 对资源充分利用
虚拟化技术种类很多 例如:软件虚拟化 硬件虚拟化 内存虚拟化 内存虚拟化 网络虚拟化(vip) 桌面虚拟化 服务虚拟化 虚拟机等等
# kvm:开源的免费的 Kernel-based Virtual Machine的简称 是一个开源的系统虚拟化模块 自Linux2.6.20之后集成在Linux的各个主要发行版本中
# exsi:vmware商用的 装在裸机上 可以虚拟化出很多机器
# openstack(python开发的 开源的):电信云 华为云 openstack 管理云平台
# 阿里云(自研:阿里飞天):云服务器管理 到一个网站 点---> 付款---> 完成
# docker:容器技术
# k8s:多机容器管理 容器编排
1.2 docker是什么
Docker 是一个开源项目 诞生于2013年初 最初是dotCloud公司内部的一个业余项目。它基于Google公司推出的Go语言实现。项目后来加入了Linux基金会 遵从了Apache2.0协议 项目代码在[GitHub](https://github.com/docker/docker)上进行维护
# Docker自开源后受到广泛的关注和讨论 以至于dotCloud公司后来都改名为Docker Inc。Redhat已经在其RHEL6.5中集中支持Docker;Google也在其PaaS产品中广泛应用
# Docker项目的目标是实现【轻量级的操作系统虚拟化解决方案】 Docker的基础是Linux容器(LXC)等技术
在LXC的基础上Docker进行了进一步的封装 让用户不需要去关心容器的管理 使得操作更为简便。用户操作Docker的【容器就像操作一个快速轻量级的虚拟机】一样简单
1.3 容器与虚拟机比较
1.4 Docker概念
# 1 docker 是cs架构 mysql和redis也是 c和s要通信 使用的http协议 符合resful规范
# 2 Docker镜像:镜像是基于一堆文件 相当于虚拟机装了操作系统 又装了软件的一堆文件
# 3 Docker容器:镜像运行起来 成为了容器 【当成一台虚拟机上面装了一些软件】
类和对象的概念---> 镜像是类 生成多个容器(对象)
# 4 Registry(注册中心)
镜像从哪里来?
注册中心中拉取下来
2 docker安装
# win:下个软件 一路下一步即可
https://www.docker.com/products/docker-desktop/
# centos:建议直接在这个系统装
# 先卸载
yum remove docker docker-common docker-selinux docker-engine
# 删除docker的文件夹
rm -rf /var/lib/docker
# 安装
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce
补充
# 1 tcp 三次握手和四次挥手
三次握手:
1 客户端向服务器发送:建立通信通道请求
2 服务端向客户端发送:允许建立通信通道
# 执行完会建立客户端到服务端的通信通道(单向)只允许客户端给服务端发消息
服务端向客户端发送:请求建立通信通道
# 这两步可以合并
3 客户端向服务端发送:允许建立通信通道
# 执行完会建立服务端到客户端的通信通道(单向)只允许服务端给客户端发消息
四次挥手:
1 客户端向服务端发送:请求断开单向通道
2 服务端向客户端发送:确认断开单向通道
# 当客户端没有消息要给服务端 请求断开客户端到服务端的消息通道 服务端会无条件同意
# 这两步不能合并 服务端会先确认是否还有消息需要给客户端发送 如果还有的话 那么不会立刻申请断开通道 发送完毕确认无误后才会请求断开
3 服务端向客户端发送:请求断开单向通道
4 客户端向服务端发送:确认断开单向通道
# 2 osi七层协议 哪七层 每层有哪些
# 应用层:与其它计算机进行通讯的一个应用 它是对应用程序的通信服务的。
# 例如,一个没有通信功能的自处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序就需要实现OSI的第7层。示例:TELNET,HTTP,FTP,NFS,SMTP等。
# 表示层:这一层的主要功能是定义数据格式及加密。
# 例如,FTP允许你选择以二进制或ASCII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择ASCII格式,发送方将把文本从发送方的字符集转换成标准的ASCII后发送数据。在接收方将标准的ASCII转换成接收方计算机的字符集。示例:加密,ASCII等。
# 会话层:它定义了如何开始 控制和结束一个会话 包括对多个双向消息的控制和管理 以便在只完成连续消息的一部分时可以通知应用 从而使表示层看到的数据是连续的 在某些情况下 如果表示层收到了所有的数据 则用数据代表表示层。
# 示例:RPC,SQL等。
# 传输层:这层的功能包括是选择差错恢复协议还是无差错恢复协议 及在同一主机上对不同应用的数据流的输入进行复用 还包括对收到的顺序不对的数据包的重新排序功能。
# 示例:TCP,UDP,SPX。
# 网络层:这层对端对端的包传输进行定义 它定义了能够标识所有结点的逻辑地址 还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质 网络层还定义了如何将一个包分解成更小的包的分段方法。
# 示例:IP,IPX等。
# 数据链路层:它定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关。
# 示例:ATM,FDDI等。
# 物理层:OSI的物理层规范是有关传输介质的特性 这些规范通常也参考了其他组织制定的标准。连接头 帧 帧的使用 电流 编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定义。
# 示例:Rj45,802.3等。
# 3 tcp和udp的区别
# 1 tcp协议也称为可靠协议(数据不容易丢失)
造成数据不容易丢失的原因不是因为有双向通道 而是因为有反馈机制
给对方发消息之后会保留一个副本 直到对方回应消息收到了才会删除
否则在一定的时间内反复发送
# 2 udp协议
也称为数据协议 不可靠协议
早期的QQ使用的是纯生的(没有加任何额外功能)udp协议
选择的QQ自己添加了很多技术和功能
使用udp的原因就是因为很简单 快捷 粗暴 只有指定对方的地址就可以发消息了
'''
TCP我们可以看成打电话:双方都在线才能聊天
UDP我们可以看成是发短信:只要发了就行 不管对方看不看
'''
标签:虚拟化,介绍,发送,docker,安装,Docker,服务端,客户端
From: https://www.cnblogs.com/zpf1107/p/17308190.html