本文介绍了关于“Docker容器和容器云的优势是什么”的知识。很多人在实际案件操作中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!
1.从容器到容器云
1.集装箱技术的优势:
持续部署和测试
跨云平台支持
环境标准化和版本控制
高资源利用率和隔离
容器跨平台和镜像
易于理解和使用
应用镜像仓库
2.容器云:容器是资源划分和调度的基本单元,它封装了整个软件运行时环境,为开发人员和系统管理员构建、发布和运行分布式应用程序提供了平台。
第二,多克基金会
1.docker rmi命令删除镜像;Dockrm删除该容器;两者都提供了-f选项,可以强制删除容器的镜像或启动时的容器。
三.解读Docker的核心原则
A.码头工人背后的核心知识
1.Docker容器本质上是主机上的一个进程,通过命名空间实现资源隔离,通过cgroups实现资源限制,通过写时复制机制实现高效的文件操作。
2.6种命名空间资源隔离:UTS(主机名和域名)、IPC(信号量、消息队列和共享内存)、PID(进程号)、Network(网络设备、网络栈、端口等)。)、装载(装载点、文件系统)、用户(用户和用户组)。
3.cgroups是Linux内核提供的一种机制,可以根据需求将一系列系统任务及其子任务融合(或分离)到不同的组中,从而为系统资源管理提供一个统一的框架,本质上就是内核附着在程序上的一系列钩子,在程序运行时通过对资源的调度来触发相应的钩子,达到资源跟踪和限制的目的。
B.码头工人体系结构概述
1.docker/docker.go是一切秩序的开端。
2.在2.api目录中,有所有与“客户端如何发送请求”和“服务器如何响应请求”相关的文件
Cmdxxx函数是在3.api/client/xxx.go,定义的,在那里被调用的cli.client.xxx函数指示命令发起什么HTTP请求。
4.每个请求的处理函数将对应一个daemon/xxx.go文件,daemon将使用相应的函数来处理请求。
5.5.daemon使用的容器对象是container/container _ unix.go。
C.libcontainer
1.libcontainer本身主要分为三个部分:第一,创建和初始化;二是集装箱全生命周期管理;第三,流程管理。打电话的人是Docker的高管。
D.Docker映像管理
1.Docker映像是一个只读的Docker容器模板,其中包含启动Docker容器所需的文件系统结构和内容,因此是启动Docker容器的基础。运行Docker容器的镜像文件和一些配置文件的内容构成了Docker容器的静态文件系统运行环境——rootfs。
2.rootfs是Docker容器内部进程启动时可见的文件系统,即Docker容器的根目录。
3.3的主要特点。分层、写时拷贝、内容寻址和联合安装。
4.镜像的关键概念:注册表、清单、图像和图层、Dockerfile
E.仓库管理
1.常见的存储驱动程序:aufs、btrfs、zfs、devicemapper、overlay和vfs
F.码头工人数据量
1.volume是存在于一个或多个容器中的特定文件或文件夹。该目录独立于联邦文件系统存在于主机中,提供了以下便利:
它在创建容器时初始化,容器中的文件可以在容器运行时使用。
可以在不同的容器之间共享和重用。
对卷中数据的操作将立即生效。
对卷中数据的操作不会影响镜像本身。
卷的生命周期独立于容器的生命周期。
G.网络管理
1.Docker在1.9版本中引入了一套完整的docker网络子命令和跨主机网络支持,并在libnetwork中使用了CNM(Container Network Model)。CNM定义了构建容器虚拟化网络的模型,还提供了可用于开发各种网络驱动程序的标准化接口和组件。
2.2的三个核心组成部分。CNM:沙盒、端点和网络。
3.3.libnetwork内置了五个驱动:桥接驱动、主机驱动、覆盖驱动、远程驱动和空驱动。
4.docker network connect命令将在连接的容器中创建新的网卡。
,以完成其与所指定网络的连接
H.Docker与容器安全
1.Docker安全问题
-
磁盘资源限制问题
-
容器逃逸问题
-
容器DoS攻击与流量限制问题
-
超级权限问题
2.Docker安全的解决方案:SELinux、磁盘限额、宿主机内容器流量限制、GRSecurity内核安全增强工具
四、Docker高级实践技巧
A.容器化思维
1.容器的本质是一个进程以及运行该进程所需要的各种依赖
2.我们不需要去备份一个容器,而是应该把需要备份的数据放在容器外挂的volume里或者数据库里
B.Dockerfile最佳实践
1.Dockerfile实践心得:使用标签、谨慎选择基础镜像、充分利用缓存、正确使用ADD与COPY指令、RUN指令、CMD和ENTRYPOINT指令、不要在Dockerfile中做端口映射、使用Dockerfile共享Docker镜像
C.Docker容器的监控手段
1.监控命令:docker ps、docker images、docker stats、docker inspect、docker top、docker port
2.常用监控工具:Google的cAdvisor、Datadog、SoundCloud的Prometheus
D.容器化应用构建的基础:高可用配置中心
1.etcd是一个键值存储仓库,用于配置共享和服务发现,特点:简单、安全、快速、可信
2.服务发现就是在同一个分布式集群中的进程和服务,互相感知并建立连接
五、构建自己的容器云
六、专注编排与部署:三剑客与Fleet
A.编排小神器Fig/Compose
1.编排,即orchestration,它根据被部署对象之间的耦合关系,以及被部署对象对环境依赖,制定部署流程中各个动作的执行顺序,部署过程所需要的依赖文件和被部署文件的存储位置和获取 方式,以及如何验证部署成功
2.部署,即deployment,是指按照编排所指定的内容和流程,在目标机器 上执行编排指定环境初始化,存放指定的依赖和文件,运行指定的部署动作,最终按照编排中的规则来确认部署成功
3.Dockerfile重现一个容器,Compose重现容器的配置和集群
4.docker-compose的局限性:面向单宿主机部署,网络和存储也很棘手
B.跨平台宿主环境管理工具Machine
1.Machine把用户搭建Docker环境的各种方案汇集在一起,既一目了然又简化了Docker环境的搭建过程,让用户能继续将时间投入到应用开发上,而不是无谓地花费在环境搭建上
C.集群抽象具Swarm
1.Swarm最大程序兼容Docker的远程API,使得所有直接调用Docker远程API的程序能方便地将后端替换为Swarm,包括Docker官方客户端,以及Fig、Flynn和Deis这类集群化管理使用Docker的工具
D.编排之秀Fleet
1.每台安装了CoreOS的机器本身就是这个容器云的一个节点,操作系统提供对容器编排、部署、管理、运维的功能,
2.Fleet说白了就是一个面向服务器集群来控制systemd的管理工具而已
七、专注应用支撑和运行时:Flynn和Deis
A.Flynn,一个小而美的两层架构
1.Flynn,一个具有Layer0和Layer1两层架构的类PaaS项目,严格意义上是一套面向“服务发布”的框架
-
Layer0:分布式配置和协调、任务调度、服务发现、宿主机抽象
-
Layer1:API控制器、Git接收器、Buildpacks、路由组件
B.谈Deis与Flynn
1.Deis是纯粹的面向应用发布的架构,严格区分“服务”和“应用”的关系,是一个更加贴近应用和经典PaaS平台的真正意义上的Docker PaaS云
八、一切皆容器:Kubernetes
1.脱胎于Google内部的大规模集群管理工具Borg,还是一个管理跨主机容器化应用的系统,实现了包括应用部署、高可用管理和弹性伸缩在内的一系列基础功能并封装成为一套完事、简单易用的RESTful API对象提供服务
“Docker容器与容器云的优点有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/143770.html