暂无个人介绍
2022年03月
虚拟环境由三个部分组成:
1.硬件
2.VMM
3.虚拟机。
自主式的 pod : 不被控制器管理的 pod ,不会自愈。 一旦 pod 挂掉了,是不会重新拉起的,而且副本数量也不会因为达不到期望值,再重新创建新的pod。
k8s 创建的 Pod 资源分为两种:
1.自主式的 pod
2.控制器管理的 pod (deployment,statement,daemonset)
Pod 中的容器又能分三类:
1.基础容器(pause)
2.初始化容器
3.应用容器
在pod中担任Linux命名空间(如网络命令空间)共享的基础;
启用PID命名空间,开启init进程。
简单来说分三点:
1)就是可以快速部署启动应用
2)实现虚拟化,完整资源隔离
3)一次编写,四处运行(有一定的限制,比如Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用)
1.全虚拟化架构
2.OS 层虚拟化架构
3.硬件层虚拟化
docker网络模型主要分为四种:
1)host
2)bridge
3)container
4)none
Dockerfile分为四部分:
1.基础镜像信息
2.维护者信息
3.镜像操作指令
4.容器启动执行指令
Docker 采用了 C/S架构,包括客户端和服务端。 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者 RESTful API 来进行通信。
服务端(Server):一台物理机或虚拟机,运行Docker守护进程,运行docker容器
客户端(client):客户端使用Docker命令或其他工具调用docker API
镜像(images):镜像可以理解为是创建实例的模板
仓库(Registry):保存Docker镜像的仓库
容器(Docker):容器是从镜像生成对外提供服务的一个或一组服务
CMD:容器运行时执行的默认命令
ENTRYPOINT:指定容器的”入口“
HEALTHCHECK:容器健康状态检查
ENV:容器启动的环境变量
ARG:构建环境的环境变量
COPY:复制文件
USER:指定运行容器时的用户名或UID,后续RUN也会使用指定用户
RUN:Docker命令的核心部分,它接受命令作为参数并用于创建镜像,每条run命令在当前镜像基础上执行,并且会提交一个新镜像层
WORKDIR:设置CMD指明的命令运行目录
FROM:基础镜像,FROM命令必须是Dockerfile的首个命令
LABEL:为镜像生成元数据标签信息
常用的指令:
FROM、LABEL、USER、RUN、WORKDIR、ENV、ARG、COPY、CMD、ENTRYPOINT、HEALTHCHECK
Dockerfile是由一系列指令和参数构成的脚本,一个Dockerfile里面包含了构建整个镜像的完整命令,通过docker build执行Dockerfile中的一系列指令自动构建镜像
Docker仓库:Docker Register,集中存放镜像的地方
Docker容器:Docker Contains,镜像运行后的进程
Docker镜像是Docker Image,每一个镜像都可能依赖一个或多个下层的镜像组成的另一个镜像,AUFS文件系统
1、容器与容器之间只是进程的隔离,而虚拟机是完全的资源隔离
2、虚拟机的启动可能需要几分钟的时间,Docker启动时秒级或者更短
3、容器使用宿主操作系统的内核,而虚拟机使用完全独立的内核