Docker 架构

Docker的三个基本概念

镜像:Docker镜像,就相当于一个root文件系统。

容器:镜像和容器的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像的运行体。容器可以被创建、启动、停止、删除、暂停等。

仓库:仓库可看成一个代码控制中心,用来保护镜像。

Docker使用客户端-服务器(c/s)架构模式,使用远程API来管理和创建Docker容器。

Docker容器通过Docker镜像来创建。

容器与镜像的关系类似于面向对象变成中的对象与类。

Docker镜像是用于创建Docker容器的模板,比如Ubuntu系统

Docker容器:是独立运行的一个或一组应用,是镜像运行时的实体

Docker主机:一个物理或者虚拟机的机器用于执行Docker守护进程和容器

Docker Registry:仓库用来保存镜像,可以理解为代码控制中的代码仓库

一个仓库中可以包含多个仓库,每个仓库可以包含多个标签(Tag)每个标签对应一个镜像

<仓库名>:<标签>

补充:Docker的思想来源于集装箱

隔离:Docker核心思想,打包装箱,每个箱子都是想回隔离的

Docker通过隔离机制,可以将服务器利用到极致

Linux Containrt容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源

在容器技术出来之前,我们都是使用虚拟机技术!

虚拟机:在window中装一个VMware,通过这个软件我们可以虚拟出来一台或者多台电脑!笨重!

虚拟机也属于虚拟化技术,Docker容器技术,也是一种虚拟化技术!

vm : linux centos 原生镜像(一个电脑!) 隔离、需要开启多个虚拟机! 几个G 几分钟
docker: 隔离,镜像(最核心的环境 4m + jdk + mysql)十分的小巧,运行镜像就可以了!小巧! 几个M 秒级启动

Docker基于Go语言开发的!开源项目!

docker官网:https://www.docker.com/

文档:https://docs.docker.com/ Docker的文档是超级详细的!

仓库:https://hub.docker.com/

Docker能干什么?

虚拟机技术缺点:

1.资源占用十分多

2.冗余步骤多

3.启动慢

容器化技术:不是模拟一个完整的操作系统

比较Docker和虚拟机技术的不同:

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

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

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

虚拟机是操作系统级,容器是应用级

DevOps(开发、运维):字面意思上说 DevOps 是指“开发运维一体化”,即通过工具辅助开发完成运维的部分工作,减少成本

应用更快速的交付和部署

传统:一对帮助文档,安装程序。

Docker:打包镜像发布测试一键运行。

更便捷的升级和扩缩容

使用了 Docker之后,我们部署应用就和搭积木一样
项目打包为一个镜像,扩展服务器A!服务器B

更简单的系统运维
在容器化之后,我们的开发,测试环境都是高度一致的

更高效的计算资源利用

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

底层原理:Docker是怎么工作的?

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

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

 为什么Docker比vm快

1.Docker有着比虚拟机更少的抽象层。由于docker不需要Hypervisor实现硬件资源虚拟化,运行在docker容器上的程序直接使用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显优势。

2.docker利用的是宿主机的内核,而不需要Guest OS

Docker常用命令

docker version #显示docker版本信息

docker info #显示docker的系统信息,包括镜像和容器数量

docker images #查看所有本地主机上的镜像 可以使用docker image ls代替
docker search 搜索镜像
docker pull 下载镜像 docker image pull
docker rmi 删除镜像 docker image rm
容器命令:

docker run 镜像 id 新建容器并启动

docker ps 列出所有运行的容器  docker container list

docker rm 容器id 删除指定容器

docker start 容器id  #启动容器

docker restart 容器id #重启容器

docker stop 容器id #停止当前正在运行的容器

docker kill 容器id  #强制停止当前容器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值