Docke容器虚拟化技术的一些认识

导读:本篇文章讲解 Docke容器虚拟化技术的一些认识,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

这个笔记是大二的时候刚接触docker的时候留下的,放在SCDN上面当作学习痕迹吧。

一 Docker为什么会出现?

  • 一款产品从开发到上线,是两套环境。应用环境,应用配置!

  • 本地环境—-测试环境—-生产环境

  • 环境配置十分麻烦,每一台机器都要部署,项目能不能带上环境安装打包。

  • docker的思想来自于集装箱

java—jar(环境)—-项目打包带上环境(镜像)—-docker仓库(应用商店)—-下载我们发布的镜像—直接运行

java—-apk—-发布到应用商店—–张三使用apk—-安装即可使用

docker核心思想:隔离!打包集箱,每一个箱子都是互相隔离的。docker利用隔离,可以把服务器用到极致。

二 Docker可以干什么?

  • 之前的虚拟技术

    ​ 虚拟化技术缺点:

    ​ 1 资源占用多

    ​ 2 冗余步骤多

    ​ 3 启动很慢

在这里插入图片描述

  • 容器化技术—–容器化技术不是模拟的一个完整的模拟系统

在这里插入图片描述

比较docker和虚拟机技术的不同

  • 传统虚拟机,虚拟出一套硬件,运行一个完整的操作系统,然后在这个操作系统上安装和运行软件

  • 容器内的应用直接运行在宿主机上,容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了

  • 每个容器间是互相隔离的,每个容器内都有一个属于自己的文件系统,互不影响。

DevOps(开发,运维)

应用更快速的交付和部署

传统:一堆帮助文档,安装文档

Dcoker:打包镜像发布开发,一键运行。

更便捷的升级和扩缩容

项目打包为一个镜像,扩展服务器A,服务器B

更简单的运维系统

在容器化之后,我们的开发,测试环境都是高度一致的

更高效的计算资源利用

Docker是内核级别的虚拟化,可以在一个物理机上运行多个容器。服务器的性能可以被压榨到极致。

三 Docker的基本组成

在这里插入图片描述

镜像(image):

docker镜像好比一个模板,通过这个模板来创建容器服务,toacat镜像=>run=>tomcat01容器(提供服务器),

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

容器(container):

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

启动,停止,删除,基本命令。可以把容器看作简易的linux系统。

仓库(repository):

仓库是存放镜像的地方

仓库分为公有仓库和私有仓库

四 run的流程和docker的原理

  • run的运行流程图

在这里插入图片描述

  • 底层原理–docker是怎么工作的

Docker是一个Client-Serve结构的系统,docker的守护进程运行在主机上host上,通过Socket从客户端访问!

Dcoker接收到Docker-Client的指令,就会执行这个命令!

在这里插入图片描述

docker为什么比vm快?

  1. docker 比vm有着更少的抽象层
  2. docker利用的是宿主机的内核,vm需要的是Guest OS
  3. 新建一个容器的时候,docker不需要像vm一样重新加载操作系统内核,避免引导操作,虚拟机加载Guest OS,mins级别,docker是s级别的。

在这里插入图片描述

五 基本命令

5.1 镜像的基本命令

  • 帮助命令
docker version #显示docker版本信息
docker info #显示docker系统信息
docker 命令 --help #万能命令
  • 镜像命令

docker images 查看所有本地主机上的镜像

#解释
REPOSITORY 镜像的仓库源
TAG        镜像的标签
IMAGE ID   镜像的id
CREATED    镜像创建的时间
SIZE       镜像的大小

#一些参数
 -a    #列出所有的镜像
 --all #列出所有的镜像
 -q 
 --quiet  #只列出镜像的id
  • docker search 搜索命令

docker pull 镜像名字 :tag 下载命令 (默认使用最新版本,也可以下载指定版本)

在这里插入图片描述

  • docker rmi 删除命令
docker rmi -f 容器id #删除指定镜像
docker rmi -f $(docker images -aq) #删除所有镜像 	

5.2 容器命令

说明:我们有了镜像才能创建容器,linux,下载一个cetos镜像来测试学习

docker pull centos

新建容器并启动

docker run 可选参数 image
#参数说明
--name="Name" 容器名字 tomcat01 tomcat02,用来区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p  指定容器的端口
四种方式:-p 主机端口:容器端口
         -p 容器端口
-P  随机指定端口

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/16156.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!