docker容器虚拟化平台1.什么是容器容器就是在隔离的环境运行的一个过程,如果过程进行,容器就会销毁.隔离的环境领有本人的系统文件,ip地址,主机名等系统文件:kvm虚拟机,linux,系统文件程序:代码,命令 过程:正在运行的程序,代码运行起来的时候就是一个过程
2.容器和虚拟化的区别Linux容器技术:.容器虚拟化和kvm虚拟化的区别kvm虚拟化:须要硬件的反对,须要模仿硬件,能够运行不同的操作系统,启动分钟级(开机启动流程)1)Linux开机启动流程bios开机自检依据bios设置的优先启动项u盘 boot 网卡 硬盘 光驱读取mbr疏导2T UEFI(gpt分区) mbr硬盘分区信息,内核加载门路加载内核启动第一个过程/sbin/init systemd零碎初始化实现运行服务……
2)容器启动流程容器共用宿主机内核第一个过程,服务nginx,httpd,mysql 过程号为1容器:共用宿主机内核.容器的第一个过程间接运行服务,轻量级..损耗少,启动块,x性能高虚拟机:须要硬件反对,须要模仿硬件,须要走开机流程,能够运行不同的操作系统
3.容器技术的倒退历史1)chroot技术,新建一个子系统(领有本人残缺的系统文件)CHROOT就是Change Root,也就是扭转程序执行时所参考的根目录地位。CHROOT能够增进零碎的安全性,限度使用者能做的事。wget https://mirrors.tuna.tsinghua...chroot /opt/
作业一:应用chroot监狱限度ssh用户拜访指定目录和应用指定命令
2)linux容器(lxc)linux container(namespaces 命名空间 隔离环境 及cgroups 资源限度)cgroups限度一个过程可能应用的资源cpu 内存 硬盘ionamespaces 资源隔离 kvm虚拟机资源限度(1c 1G 20G)
装置lxcyum install lxc-* -yyum install libcgroup* -yyum install bridge-utils.x86_64 -y
3)docker容器10.0.0.11 docker01 host解析10.0.0.12 docker02 host 解析Docker是通过过程虚拟化技术(namespaces及cgroups cpu、内存、磁盘io等)来提供容器的资源隔离与平安保障等.因为Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不须要相似虚拟机(vm)额定的操作系统开销,进步资源利用率namespace资源隔离cgroups 过程的资源限度kvm 虚构磁盘文件,资源隔离 qemu-img create test.raw 10Gkvm 资源限度,--cpus –memorydocker 初期把lxc二次开发,libcontainer
docker 进行资源隔离的6种namespace
docker最佳的运行环境是centos7 3.10
centos6 2.6docker在起初做了centos的docker
4)docker和lxc的关系在2013年Docker刚公布的时候,它是一款基于LXC的开源容器治理引擎。把LXC简单的容器创立与应用形式简化为Docker本人的一套命令体系。随着Docker的一直倒退,它开始有了更为远大的指标,那就是反向定义容器的实现规范,将底层实现都抽象化到Libcontainer的接口。这就意味着,底层容器的实现形式变成了一种可变的计划,无论是应用namespace、cgroups技术抑或是应用systemd等其余计划,只有实现了Libcontainer定义的一组接口,Docker都能够运行。这也为Docker实现全面的跨平台带来了可能。
(1)Docker并不是LXC的替代品,Docker的底层就是应用了LXC来实现的。LXC将Linux过程沙盒化,使得过程之间互相隔离,并且可能管制各过程的资源分配。(2)在LXC的根底之上,Docker提供了一系列更强的性能。
4.部署docker容器化平台4.1 yum源装置1)配置yum源yum install -y yum-utils device-mapper-persistent-data lvm2 #yum管理工具yum-config-manager --add-repo http://mirrors.aliyun.com/doc... #增加阿里源yum-config-manager --add-repo https://download.docker.com/l... #增加官网源2)列出docker-ce可装置的版本yum list docker-ce --showduplicates | sort -r yum install docker-ce-19.03.9-3.el7 #装置1903版本systemctl start docker #启动dockersystemctl enable docker #退出开机自启动
...