Docker基本原理串讲整理

前言

好久没有进行博客的更新了,也没有太多的时间去学习新的知识并进行整理发文,前些天对公司同时进行了一些关于Docker基本原理的串讲,期间进行了Docker知识的整理,更多的是一些思路,就发上来,希望大家如果有docker串讲的时候能够对大家有所帮助。

Docker技术围绕讲解讲解思路

更多的是我们要围绕那一方面去讲

  1. 理念 ----提出有疑问 —>在接下来的过程中一一解答
  • Docker基本架构,原理
  • 为什么要学docker
  • Docker基本介绍
  • 以及利用docker可以解决什么问题
  1. Docker命令及使用方法 ----docker命令进行详细讲解以及可以达到的效果,dockerfile文档展示讲解
  • Docker命令
  • Dockerfile
  1. 学习了Docker可以达到什么效果
  • 举例展示
  • 什么场景使用,如何用
    沙盒(英语:sandbox,又译为沙箱),计算机专业术语,在计算机安全领域中是一种安全机制,为运行中的程序提供的隔离环境。通常是作为一些来源不可信、具破坏力或无法判定程序意图的程序提供实验之用。

容器Docker技术讲解思路

  • 开始进行Docker技术的解析

物理机—>虚拟机—>容器

  1. 首先从基本介绍开始讲解
  • Docker技术的优缺点

  • 传统虚拟化的优缺点

    举例! lnmp架构 {例如有一台虚拟机80C60G 部署lnmp架构 一个nginx占用80端口 那么这台虚拟机的资源是否就是被浪费? 如果mysql采用主从架构,nginx采用高可用高并发架构一台服务器或者一台虚拟机能够能够支撑

Docker内容整理

  1. 什么是docker?
    在这里插入图片描述
    总结:一个开源的应用容器引擎,将应用程序部署为可移植,自给自足的容器,在云端或本地运行

  2. docker的作用和好处
    在这里插入图片描述
    提供产品和项目的开发提供所需的不同测试环境

可以将项目和环境一起打包成镜像从而解决环境不一致的一个问题

好处:

  • 运行环境的一致性
  • 高效利用资源
  • 启动速度快
  • 便于开发,维护和更新
  1. Docker与虚拟机对比

虚拟机搭建:

主机的基础架构–>主机操作系统–>虚拟机的监控软件—>虚拟机的操作系统—>应用程序和依赖项

导致会占用更多的内存和CPU

容器 :

主机的基础架构->主机操作系统–>容器引擎—>应用程序和依赖项 容器就可以保证容器的一个相互隔离,共享主机的一个操作系统服务

容器并没有去模拟一个操作系统,会节省更多资源 虽然共享操作系统内核,但是进程还是独立运行的

资源利用少 ----> 导致运行速度更快,部署更多(秒级启动) 相比虚拟机分钟级 运行更多服务降低开发成本

  1. Docker的基本组成
  • Docker client 客户端
  • Docker server 服务器 接收请求,将请求反馈给客户端
  • Docker images 镜像 比喻:相当于印刷机模板,通过模板得到更的印刷件
  • Docker containers 容器
  • Docker repository 仓库 公有/私有仓库 docker hub
  • Atomic host 原子主机
  1. Docker镜像加载原理

联合文件系统

镜像中有三层镜像系统,但从外面看只能看到一个镜像系统(全部三层镜像的合并试图)

第三层 7 镜像

第二层 456

第一层 123 —> 1234567 全部三层镜像的合并视图进行叠加

  1. Docker镜像加载原理

在这里插入图片描述
系统启动引导的一个加载过程
docker镜像最底层是一个bootfs 和典型的Linux系统一样 最底层为bootfs bootfs包括bootloader(加载器)和kernal内核,bootloader引导加载内核kernel到内存中 当Linux刚启动时最先启动bootfs 当系统加载完毕后就会被卸载 因为要开启要启动启动内核所以时间很久 因为容器的内核是使用的宿主机的内核,因为宿主机已经启动了内核所以不需要再进行启动,速度就会非常快
Rootfs 包含典型的文件 例如/etc /bin 这个文件系统代表了不同的操作系统的发行版 比如ubant,深度等等 对于不同Linux发行版来说,他们的内核都是相同的,都是Linux内核,所以都可以用到bootfs os很小
启动完成之后,所用的docker镜像都是基于一个基础镜像 base image
因为容器和主机共用一个内核,所以只需要提供一个很小的rootfs就可以了

  1. Docker工作原理
    docker客户端通过docker命令就可以在docker_host上进行docker的管理 例如创建镜像,删除镜像,拉取镜像,运行容器等。
  2. Docker安装

不详聊


实例:
以 Centos7.4 安装为例、默认使用 root 权限;

1、更新操作系统内核

yum update –y

2、安装Docker yum 源

yum install -y yum-utils device-mapper-persistent-data lvm2

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum-config-manager --enable docker-ce-nightly

3、安装Docker

yum install docker-ce docker-ce-cli containerd.io

4、启动 Docker

systemctl enable docker && systemctl start docker

5、查看 Docker 状态

docker info

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值