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

这个笔记是大二的时候刚接触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  随机指定端口
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傲娇味的草莓

佛系少女只是想记录学习痕迹

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值