Docker学习笔记-Docker概述

一.Docker为什么会出现?

一款产品: 开发 上线 两套环境!应用环境,应用配置!
开发 运维。 问题:我在我的电脑上可以允许!版本更新,导致服务不可用!对于运维来说考验十分
大?
环境配置是十分的麻烦,每一个机器都要部署环境 ( 集群 Redis ES Hadoop…) ! 费事费力。
发布一个项目 ( 代码 + (Redis MySQL) ) ,项目能不能带上环境安装打包!
之前在服务器配置一个应用的环境 Redis MySQL Nignx  配置超麻烦了,不能够跨平台。
开发环境 Windows ,最后发布到 Linux
传统:开发环境搭建 ,运维来做!
现在:开发打包部署上线,一套流程做完!
安卓流程:C++  — apk — 发布(应用商店)一 张三使用 apk 一安装即可用!
docker 流程:  C++ (环境) 打包项目帯上环境(镜像) — ( Docker 仓库:商店) -----
Docker 给以上的问题,提出了解决方案!
 
 
二.Docker 的思想就来自于集装箱!【类似于一艘货轮(每个容器都是一个集装箱)】 
隔离 Docker核心思想!打包装箱!每个箱子是互相隔离的。
Docker 通过隔离机制,可以将服务器利用到极致!
本质:所有的技术都是因为出现了一些问题,我们需要去解决,才去学习!
 
 
三.Docker的历史
2010 年,几个的年轻人,就在美国成立了一家公司 dotcloud 做一些pass 的云计算服务! LXC Linux Container 容器)有关的容器技术! Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源。 他们将自己的技术(容器化技术)命名就是 Docker 。 Docker刚刚延生的时候,没有引起行业的注意! dotCloud ,就活不下去! 开源2013 年, Docker 开源! 越来越多的人发现docker 的优点!火了。 Docker 每个月都会更新一个版本! 2014年 4 9 日, Docker1.0 发布!
 
 
四.docker 为什么这么火?
十分的轻巧! 在容器技术出来之前,我们都是使用虚拟机技术!
虚拟机:在 window 中装一个 VMware ,通过这个软件我们可以虚拟出来一台或者多台电脑!笨重!
虚拟机也属于虚拟化技术, Docker 容器技术,也是一种虚拟化技术!
vm : linux centos 原生镜像(一个电脑!) 隔离、需要开启多个虚拟机! 几个 G 几分钟
docker: 隔离,镜像 十分的小巧,运行镜像就可以了!小巧! 几个M 秒级启动!
Docker 基于 Go 语言开发的!开源项目!
docker 官网: https://www.docker.com/
文档: https://docs.docker.com/ Docker 的文档是超级详细的!
仓库: https://hub.docker.com/
 
 
五.Docker的特点
比较 Docker 和虚拟机技术的不同:
传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
容器内的应用直接运行在宿主机的内容, 容器是没有自己的内核的【都是公用宿主机的】 也没有虚拟我们的硬件 ,所以
就轻便了
每个容器间是 互相隔离,每个容器内都有一个属于自己的文件系统,互不影响
 
 
六.DevOps (开发、运维)
应用更快速的交付和部署
  • 传统:一对帮助文档,安装程序。
  • Docker:打包镜像发布测试一键运行。
更便捷的升级和扩缩容【后面操作在详细的讲解】
  • 使用了 Docker之后,我们部署应用就和搭积木一样
  • 项目打包为一个镜像,扩展服务器A!服务器B
更简单的系统运维
在容器化之后,我们的开发,测试环境都是高度一致的
更高效的计算资源利用
Docker 是内核级别的虚拟化,可以在一个物理机上可以运行很多的容器实例!服务器的性能可以被压榨
到极致。
 
 
七.Docker的基本组成
 
 
镜像( image)
docker 镜像就好比是一个目标,可以通过这个目标来创建容器服务, tomcat 镜像 ==>run==> 容器(提
供服务器), 通过这个镜像可以创建多个容器 (最终服务运行或者项目运行就是在容器中的)。
容器 (container)
Docker 利用容器技术,独立运行一个或者一组应用,通过镜像来创建的 .
启动,停止,删除,基本命令
目前就可以把这个容器理解为就是一个简易的 Linux 系统。
仓库 (repository)
仓库就是存放镜像的地方!
仓库分为公有仓库和私有仓库。 ( 很类似 git)
Docker Hub 是国外的。
阿里云 都有容器服务器 ( 配置镜像加速 !)
 
 
八.安装Docker Desktop【我这里用的Windows,反正都看成虚拟机我就不用在虚拟机中安装了,操作不方便】建议自己去 Docker Hub 上注册账号【类似于git hub】Docker Hub 是镜像仓库
 

就和 git 操作类似的

 

 
 
 
九. 底层原理
Docker 是怎么工作的 每个容易可以看成一个小的操作系统环境【所以还可以有虚拟的端口,就和vpn相似的】+代码。
Docker 是一个 Client-Server 结构的系统, Docker 的守护进程运行在主机上。通过 Socket 从客户端访
问! Docker-Server接收到 Docker-Client 的指令,就会执行这个命令!
 
 
为什么 Docker Vm
1 docker有着比虚拟机更少的抽象层 。由于 docker 不需要 Hypervisor【虚拟机监视器】 实现硬件资源虚拟化 , 运行在 docker容器上的程序 直接通过物理主机的内核使用的都是实际物理机的硬件资源 。因此在 CPU 、内存利用率上 docker 将会在 效率上有明显优势。
2 docker利用的是宿主机的内核,而不需要Guest OS。
GuestOS: VM(虚拟机)里的的系统(OS;
HostOS:物理机里的系统(OS
 
 
 
 
因此 , 当新建一个 容器时, docker 不需要和虚拟机一样重新加载一个操作系统内核。然而避免引导、加 载操作系统内核是个比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载GuestOS ,返 个新建过程是分钟级别的。而docker 由于直接利用宿主机的操作系统 , 则省略了这个复杂的过程,因此 新建一个docker 容器只需要几秒钟。
 
 

猜你喜欢

转载自blog.csdn.net/qq_44065088/article/details/109158073