Docker学习笔记--Docker概述

虚拟机:

传统虚拟机技术是虚拟出一套硬件,模拟一个完整的操作系统,具有内核和环境,所有的app在环境下运行虚拟机

缺点:资源占用多、冗余步骤多、启动慢

 

 Docker:

 容器之间包含了环境和应用,每个容器运行在宿主内核上,能充分利用内核的资源并且每个容器之间相互隔离,

容器没有自己的内核,没有进行硬件虚拟,比传统的虚拟机更为轻便

 

 Docker 和 虚拟机 技术不同

  •  传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后再这个系统安装和运行程序
  • 容器内的应用直接运行再宿主机的内容,容器是没有自己的内核的,也没有虚拟硬件,轻便
  • 每个容器是相互隔离,每个容器内都有一个属于自己的文件系统,互不影响

Docker优势

  • 应用更快速的交付和部署
  • 更便捷的升级和扩容
  • 更简单的系统运维
  • 更高效的计算资源利用

 

Docker架构图

 

Docker基本概念

1.镜像image

  操作系统分为内核和用户空间,对于Linux而言,内核启动后,会挂在root文件系统为其提供用户空间支持。Docker

镜像相当于一个root文件系统。提供容器允许是所需的程序、库、资源、配置等文件。并且包含了一些允许时准备的

配置参数(环境变量、用户等)。镜像不包含任何动态数据,其内容构建后也不会被改变。

分层存储:

  镜像包含操作系统完整的root文件系统体积非常庞大,因此设计为分成存储的架构,镜像时一个虚拟概念,实际体现不

是一个文件组成,而是由一组文件系统组成。

概述:

docker镜像好比一个模板,可以通过这个模板来创建容器服务

Tomcat镜像 ====> run  ===>tomcat01容器 (提供服务器)

通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是再容器中)


2.容器container

  镜像和容器的关系像面向对象程序设计中类和实例一样,镜像时静态的定义,容器时镜像运

行时的实体容器的是指是进程,容器进行运行在属于自己的独立命名空间,容器可以拥有自己的

root文件系统,网络配置等。容器内的进程运行在一个隔离的环境里,使用起来像独立于宿主的

系统一样,这种特性使得容器封装的应用比直接在宿主运行更加安全。

  每一个容器运行时,是以镜像为基础层,在其上创建一个当前容器的存储层,我们可以称

这个为容器运行时读写而准备的存储层为 容器存储层。容器存储层的生存周期和容器一样,容器

消亡时,容器存储层也随之消亡。因此,任何保存于容器存储层的信息都会随容器删除而丢失。

概述:

Docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的。

启动,停止,删除,基本命令

可以把容器理解为一个简易的Linux系统

 

3.仓库repostiory

  镜像构建完后,可以在当前宿主上运行,但如果需要在其他服务器使用这个镜像,就需要一个

集中存储、发放镜像的服务。仓库就是存放镜像的地方!仓库分为公有仓库和私有仓库!

Docker Hub(默认是国外的)

阿里云…有容器服务器(配置镜像加速)

 

 参考:https://www.bilibili.com/video/BV1og4y1q7M4?p=1  【狂神说java的Docker教学视频】

            https://github.com/datawhalechina/team-learning-program/blob/master/Docker【Datawhale组队学习Docker篇】

posted @ 2021-04-12 20:41  _Carrot  阅读(53)  评论(0编辑  收藏  举报