Docker基础及其原理(一)

docker基础可参考思维导图 https://download.csdn.net/download/qq_38922576/13087050

1. 概述

  Docker是一个基于LXC(Linux Cotainer Linux容器)技术构建的容器引擎,LXC技术是将linux系统分相对独立的空间,而且每个线程访问linux系统的时候,资源是共享的;且docker基于GO语言开发的虚拟化技术。

2.Docker相关概念和运行原理

2.1 docker相关概念
  2.1.1 Container
    Docker Container(容器)即Docker将宿主机隔开的一个个独立空间,容器完全使用沙箱机制,相互之间不会有任何接口,几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言框架包括系统
  2.1.2 Image
    Docker Image(镜像)可以看作是一个特殊的文件系统,即对某一时刻容器状态的备份。并且镜像不包含任何动态数据,其内容在构建之后也不会被改变。
  2.1.3 Registry
     Docker Registry(记录中心)是 Docker 官方及一些第三方机构(国内比如阿里、腾讯都提供有 Docker 的记录中心)。

镜像仓库
官方:https://hub.docker.com/
阿里: https://dev.aliyun.com/search.html
腾讯:http://android-mirror.bugly.qq.com:8080/
清华大学:http://mirrors.tuna.tsinghua.edu.cn/
华中科技大学:http://mirror.hust.edu.cn/
北京理工大学:http://mirror.bit.edu.cn/web/

2.2 运行原理
  用户通过客户端从 Registry 下载镜像;将下载的镜像运行,成为容器;将本地容器打包成为新的镜像。
在这里插入图片描述

(1) docker build 创建对应的image / Container
(2) docker pull  远程拉取Registry对应的image到本地,再把image创建成Container
(3) docker run   运行对应的image形成对应的Container

3.与虚拟机的区别

  3.1 虚拟机
    现今市面上比较常见的就是VMware,其中可以安装多个系统比如Ubuntu、Centos、Windows等等。虚拟机的作用是将一台宿主机变成多台机器,并且每个系统之间都是独立的,必须安装系统才可以使用。
    虚拟机可分为硬件层、宿主机操作系统层、虚拟机系统层、虚拟机操作系统层、应用程序依赖层、应用程序层。
在这里插入图片描述
  3.2 Docker
    核心组件-Docker Daemon ,Daemon基于LXC 技术共享宿主机操作系统内核,并将宿主机空间进行隔离,形成一个个独立的容器。使每个容器看起来像一个独立的服务器,可以有自己独立的应用程序、进程、空间等,却不需要在其内部安装操作系统。而Docker实际运行的结构,共分为五层:硬件层、宿主机操作系统层、DAEMON层、应用程序依赖层、应用程序层。如下图所示:
在这里插入图片描述

更多Docke内容 请看Docker基础(二)

如有缺陷之处请指正,共同成长。Become a good programmer

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker是一种开源的容器化平台,它可以将应用程序及其依赖项打包成一个独立的容器,以实现跨平台、快速部署和可移植性。Docker基础原理包括以下几个方面: 1. 镜像(Image):Docker镜像是一个只读的模板,包含了运行应用程序所需的文件系统、库和依赖项。镜像可以通过Dockerfile定义,也可以从Docker Hub等镜像仓库获取。 2. 容器(Container):Docker容器是从镜像创建的运行实例,它包含了应用程序及其依赖项,并且具有独立的文件系统、网络和进程空间。容器可以被启动、停止、删除等操作。 3. 镜像仓库(Registry):Docker镜像仓库用于存储和分享Docker镜像,其中最常用的是Docker Hub。用户可以从镜像仓库中获取公共镜像,也可以自己创建私有镜像仓库。 4. Docker引擎(Engine):Docker引擎是Docker的核心组件,负责管理和运行Docker容器。它包括了一个守护进程(dockerd)和一个命令行工具(docker),通过与操作系统的内核进行交互,实现容器的创建、启动、停止等操作。 MySQL是一种开源的关系型数据库管理系统(RDBMS),它使用结构化查询语言(SQL)进行数据管理。MySQL的基础原理包括以下几个方面: 1. 数据库:MySQL使用数据库来组织和存储数据,一个数据库可以包含多个表,每个表由多个列组成。 2. 表:表是MySQL中存储数据的基本单位,它由多个列组成,每个列定义了数据的类型和约束条件。 3. SQL语句:MySQL使用SQL语句进行数据的增删改查操作。常见的SQL语句包括SELECT(查询数据)、INSERT(插入数据)、UPDATE(更新数据)和DELETE(删除数据)等。 4. 索引:索引是一种提高查询效率的数据结构,MySQL使用B+树索引来加速数据的查找操作。 5. 事务:事务是一组数据库操作的逻辑单元,它要么全部执行成功,要么全部回滚。MySQL使用事务来保证数据的一致性和完整性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值