三个基本概念
:镜像,相当于一个根文件系统。
容器:图像和容器之间的关系就像面向对象编程中的类和实例。镜像是静态定义,容器是镜像的运行体。容器可以被创建、启动、停止、删除、暂停等。
仓库:仓库可以看作是一个保护形象的码控中心。
使用客户端-服务器 (c/s) 架构模式使用远程 API 管理和创建容器。
容器是从图像创建的。
容器和图像之间的关系类似于面向对象编程中的对象和类。
镜像是用于创建容器的模板,例如系统
:是独立运行的一个应用程序或一组应用程序s服务器,是镜像运行时的实体
主机:用于执行守护进程和容器的物理或虚拟机
: 仓库是用来保存图片的,可以理解为代码控件中的代码仓库
一个仓库可以包含多个仓库,每个仓库可以包含多个标签(Tag)。每个标签对应一个图像
:
补充:想法来自容器
隔离:核心思想,包装盒,每个盒子都意在隔离
通过隔离机制,将服务器发挥到极致
Linux 容器是一种内核虚拟化技术,提供轻量级虚拟化以隔离进程和资源
在容器技术出来之前,我们都是用虚拟机技术的!
虚拟机:安装一台,通过这个软件我们可以虚拟一台或多台电脑!笨重!
虚拟机也属于虚拟化技术、容器技术,也是一种虚拟化技术!
vm:linux原生镜像(一台电脑!)隔离,需要开启多台虚拟机!几G几分钟
: 隔离,镜像(核心环境4m+jdk+mysql)很小,只运行镜像!小的!几M秒开始
基于Go语言开发!开源项目!
官方网站:
文档:文档超级详细!
库:
我能做些什么?
虚拟机技术的缺点:
1.占用大量资源
2. 冗余步骤多
3.启动慢
容器化技术:不模拟完整的操作系统
比较和虚拟机技术的区别:
传统的虚拟机,将一块硬件虚拟化,运行一个完整的操作系统,然后在这个系统上安装和运行软件
容器中的应用程序直接运行宿主机的内容。容器没有自己的内核,也没有虚拟化我们的硬件,所以一切都很简单
每个容器相互隔离,每个容器都有自己的文件系统,互不影响
虚拟机在操作系统层面,容器在应用层面
(开发运维):字面意思是“开发运维一体化”,即利用工具辅助开发完成部分运维工作,降低成本。
更快地交付和部署应用程序
繁体:一对帮助文档,安装程序。
:一键操作包镜像发布测试。
更容易升级和扩展
使用后,我们像搭积木一样部署应用程序
项目打包成镜像,扩展服务器A!服务器 B
系统运维更简单
容器化后,我们的开发和测试环境高度一致
更有效地利用计算资源
它是内核级的虚拟化,可以在一台物理机上运行多个容器实例!服务器性能可以被挤压到极限。
基本原理:它是如何工作的?
是一个结构化的系统,守护进程通过客户端的访问在主机上运行
-收到-的命令,它会执行这个命令!
为什么比vm快
1. 抽象层比虚拟机少。由于不需要实现硬件资源虚拟化,容器上运行的程序直接使用实际物理机的硬件资源。因此,在CPU和内存利用率方面,效率上会有明显的优势。
2.宿主机内核不使用Guest OS
常用命令
# 显示版本信息
info #显示系统信息,包括图像数量和容器数量
#查看本地主机上的所有图片可以使用image ls代替
搜索镜
拉取下载镜像拉取
rmi 删除图像图像 rm
容器命令:
运行 image id 创建一个新容器并启动它
ps 列出所有正在运行的容器列表
rm id 删除指定容器
start id # 启动容器
容器id #重启容器
id #停止当前运行的容器
kill id #强制停止当前容器