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基础(二)。
到此这篇关于“Docker基础及其原理(一)”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!如有缺陷之处请指正,共同成长。Become a good programmer
您可能感兴趣的文章:
Docker基础及其原理(一)
搭建基于consul,registrator,nsq的GO体系Docker开发环境
超详细分析php docker的原理及作用
golang微服务框架对比_Golang 微服务教程(二)
python基础学完了学什么
docker golang 开发环境
使用Docker部署PHP开发环境的方法详解
Dockerfile构建PHP镜像
arcgis datastore服务不可用_Golang 微服务教程(三)
避坑!用 Docker 搞定 PHP 开发环境搭建