Docker容器技术与kubernetes容器管理平台
Docker容器技术:
目录
一、 docker基础知识
1.docker是什么?
docker是一个容器,可以虚拟出一个服务器,由docker客户端和守护进程组成,包含镜像(只读)、容器(可写)、数据卷 (数据会写入linux内存)、仓库(类似maven仓库)组成。
2.docker用到了什么技术?
容器技术,服务器的演变过程从单机-->虚拟化技术-->容器化技术-->云原生技术。
3.docker解决了什么问题?
服务器资源紧张不够用,VM部署过程较长,便于项目快速开发部署。
4.docker如何配置?
例如:centos7+安装工具包+配置中央仓库+从仓库中拉取docker ce/ee + 启动docker + 检查。docker运行在Linux上, 同时docker中也是linux系统。docker官网有docker的中央仓库,也可在你的本地docker私库去拉取。
二、docker与VM虚拟机的区别: (性能和使用方面)
1.VM虚拟化技术依赖物理CPU和内存,docker基于操作系统,利用的是操作系统的集装箱化容器技术。
2.VM启动没有docker快。
3.轻量级虚拟化,docker每个容器占用的内存小,VM每个虚拟机占用的内存大。
4.docker是单线程,一个容器一个应用,VM多线程,可以开多个应用。
5.docker是一次性使用,停止容器则会丢失容器中的所有文件,VM只会丢失临时文件。
6.docker安全性没有VM高,docker是共享资源(内存、网络),VM则是隔离的。
在docker中安装其他应用的两种方式:
1.从docker中央仓库获取应用的镜像。例如:docker search redis...
2.通过dockerFile创建应用新的镜像。
三、Dockerfile的部分命令:
FROM 指定镜像、RUN build的过程中执行的命令、ADD 复制命令、
EXPOSE 指定容器的监听端口、ENV 键值对形式设置环境变量、CMD 容器启动后执行命令。
四、Image和Container的关系:
k8s容器集群管理平台:
一、k8s基础知识
由master节点 和许多node节点组成,
master节点包括:
apiservice:提供集群对外调用的接口,供客户端和其他组件调用。
schedule调度器:负责集群内部资源的调度,
etcd,
controller manager控制管理器。
node节点包括:
Docker:创建容器,
Pod:基本操作单元,相当于一个进程,
Fluentd:负责日志收集 存储 查询,
kubelet:负责所在node上pod的创建 修改 监控 删除,
kobe-proxy:负责为pod对象提供代理。