【Docker】Docker的使用案例以及未来发展、Docker Hub 服务、环境安全

news2024/11/27 16:36:30

在这里插入图片描述

前言

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。


作者简介: 辭七七,目前大二,正在学习C/C++,Java,Python等
作者主页: 七七的个人主页
文章收录专栏: 七七的闲谈
欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖

Docker的工具实践及root概念和Docker容器安全性设置

  • 1. 使用案例
  • 2. Docker解决的问题
  • 3. Docker未来发展
  • 4. Docker Hub 服务
  • 5. 技术局限
  • 6. Docker环境安全
  • 7. 容器部署安全

1. 使用案例

在这里插入图片描述

  Docker是一个命令行工具,它提供了中央“docker”执行过程中所需的所有工具。这使得Docker的操作非常简单。一些例子可以检查运行中的容器的状态:
  或检查可用的镜像及其版本的列表:
  另一个例子是显示一个镜像的历史:
  上面的命令显示了命令行界面操作的方便快捷。只需要指定镜像ID的前几个字符就可以。可以看到只需要“d95”就能显示d95238078ab0镜像的所有历史。
  人们可能会注意到该镜像非常小。这是因为Docker从父镜像建立增量镜像,只存储每个容器的更改。因此,如果有一个300MB的父镜像,如果在容器中安装了50MB的额外应用或服务,该容器和生成镜像可能只有50MB。
  可以用Dockerfiles自动化Docker容器的创建过程。Dockerfiles是含有单个容器性能规范的文件。例如,可以创建一个Dockerfiles来建立一个Ubuntu容器,在新容器内运行一些命令、安装软件或执行其他任务,然后启动容器。
  容器网络
  Docker早期版本中的网络基于主机桥接,但是Docker 1.0包含了一种新形式的网络,允许容器直接连接到主机以太网接口。默认情况下,一个容器有一个回路以及一个连接到默认内部桥接的接口,但是如果需要的话也可以配制成直接访问。通常,直接访问比桥接的速度更快
  然而,桥接方法在许多情况下是非常有用的。桥接是通过主机自动创建一个内部网络适配器并为其分配一个主机本身尚未使用的子网。然后,当新的容器连接到这座桥,它们的地址进行自动分配。容器启动时可以将其连接到主机接口或端口,因此运行Apache的容器可能启动并连接到主机上的TCP端口8080(或随机端口)。通过使用脚本和管理控制,可以在任何地方启动Docker,连接端口并将其传达到需要使用该服务的应用或服务堆栈的其他部分
  在Hyper-V服务器上Docker主机备份方法
  要在Hyper-V服务器上创建Docker主机,需要下载并且安装OpenSSH以及Windows版本的Docker Machine。还应该将OpenSSH二进制文件添加到Hyper-V服务器路径以便Docker Machine可以找到它们。
  一旦所需的组件就绪,创建Docker主机如同运行一条命令行一样轻而易举。打开命令提示符窗口,定位到包含Docker Machine的文件夹,然后输入可执行文件名称(Docker-machine_windows-amd64.exe),其后输入-d开关、驱动程序的名称(在本例中是Hyper-V)以及正在创建的虚拟机(VM)的名称。
  例如,该命令可能如下所示:
Docker-machine_windows-amd64.exe -d hyper-v Docker
当运行这个命令的时候,Docker Machine完成几个不同的任务。其中一些更重要的任务(从备份的角度来看)包括:
使用命令行中指定的名称创建虚拟硬盘(virtual hard disk,VHD);
下载名为Boot2Docker.ISO的DVD映像;
创建虚拟机;
把Boot2Docker.ISO 文件与新创建的VM关联,作为虚拟DVD光驱
把VHD与VM关联;
启动VM;
向VM分配IP地址和端口号。

2. Docker解决的问题

在这里插入图片描述

  云计算、大数据,移动技术的快速发展,加之企业业务需求的不断变化,导致企业架构要随时更改以适合业务需求,跟上技术更新的步伐。毫无疑问,这些重担都将压在企业开发人员身上;团队之间如何高效协调,快速交付产品,快速部署应用,以及满足企业业务需求,是开发人员亟需解决的问题。Docker技术恰好可以帮助开发人员解决这些问题
  为了解决开发人员和运维人员之间的协作关系,加快应用交付速度,越来越多的企业引入了DevOps这一概念。但是,传统的开发过程中,开发、测试、运维是三个独立运作的团队,团队之间沟通不畅,开发运维之间冲突时有发生,导致协作效率低下,产品交付延迟, 影响了企业的业务运行。Docker技术将应用以集装箱的方式打包交付,使应用在不同的团队中共享,通过镜像的方式应用可以部署于任何环境中。这样避免了各团队之间的协作问题的出现,成为企业实现DevOps目标的重要工具。以容器方式交付的Docker技术支持不断地开发迭代,大大提升了产品开发和交付速度。
  此外,与通过Hypervisor把底层设备虚拟化的虚拟机不同,Docker直接移植于Linux内核之上,通过运行Linux进程将底层设备虚拟隔离,这样系统性能的损耗也要比虚拟机低的多,几乎可以忽略。同时,Docker应用容器的启停非常高效,可以支持大规模的分布系统的水平扩展,真正给企业开发带来福音。
  正如中国惠普云计算集成云技术首席专家刘艳凯所说的那样:“任何一项技术的发展和它受到的追捧,都是因为它能够解决困扰人们的问题,”Docker正是这样的一种技术。

3. Docker未来发展

在这里插入图片描述

  任何一项新技术的出现,都需要一个发展过程,比如云计算为企业所接受用了将近五年左右时间,OpenStack技术也经历了两、三年才受到人们的认可。因此,虽然Docker技术发展很快,但技术还不够成熟,对存储的灵活的支持、网络的开销和兼容性方面还存在限制,这是Docker没有被企业大范围使用的一个主要原因。另外一个原因是企业文化是否与DevOps运动一致,只有企业支持DevOps,才能更大地发挥Docker的价值。最后一个原因就是安全性问题,Docker对于Linux这一层的安全的隔离还有待改进,才能进一步得到企业的认可。惠普刘艳凯认为,这也是Docker需要在下一步中改进的一方面。
  Docker价值的最大体于对企业DevOps的支持,对原生云应用大规模水平扩展的支持。在惠普Helion云战略中包括了对DevOps服务和原生云应用的支持,而这一战略的具体落地,与Docker技术有着紧密的联系。因此,惠普团队一直积极地参与OpenStack社区中和Docker项目相关的开发活动中,努力改进Docker技术中存在的不足。同时,惠普产品中也集成了Docker,例如,惠普开发平台产品集成了Docker,使用Docker作为应用的容器;以及惠普最新发布的CloudSystem 9.0也增加对Docker的支持,用户可以像使用其它的虚拟化资源一样,选择Docker作为应用的承载容器。刘艳凯认为,惠普非常认可Docker给用户带来的一些价值,那也希望通过自己努力,使更多的用户使用到Docker这样的先进的技术

4. Docker Hub 服务

  双方在开源容器技术以及发展方向上共同努力,并提供本地化的 Docker 服务。Docker 公司选择阿里云平台作为其DockerHub 在中国运营的基础服务。阿里云也获得 DockerEngine 商用版以及DockerDataCenter 运营权,并为 Docker 客户提供企业级支持和咨询服务。同时,阿里云将成为 Docker 官方支持的云服务提供商。
阿里云总裁胡晓明表示,通过和 Docker 的战略合作,阿里云将更好地为企业级客户提供完善的云服务,使能客户,并实现时代转型。

5. 技术局限

  网络限制:容器网络(Docker Network )可以方便地在同一主机下对容器进行网络连接。加上一些其他的工作,就可以跨主机使用叠加网络功能。然而,也就到此为止了。网络配置操作是受限的,而且到docker 0.7为止可以说这些手段都是人工的。尽管容器脚本化可以规模化,但是必须给网络定义增加预分配实例,每次提供容器时还需要额外步骤,这容易引起错误。
  库控制受限:库已经成为任何容器会话的中心议题。公共库是最有价值的,因为他贡献了大量的预置容器,节省了许多的配置时间。然而,在沙盒里使用它是有风险的。在不知道谁以及如何创建镜像的情况下,可能会存在任意数量的有意或无意的稳定性和安全性风险。对于企业来说,有必要建立和维护一个私有库,这个库的建立挑战不大,但管理是个问题。Docker为大型库的镜像管理提供了一个有限的元数据模型,确保未来实例如预期的能力受限,也没有叠加功能。
  没有清晰的审计跟踪:提供容器是很简单的,但知道提供容器的时间、原因、方式以及提供方却不容易。因此,在提供之后,用户并不掌握多少出于审计目的的历史。
  运行实例的低可见性:如果没有经过深思熟虑的行动,实例提供后很难接触到运行容器的对象,也很难知道哪些应该出那里,哪些不应该出那里。

6. Docker环境安全

在这里插入图片描述

  Docker的势头在过去的12个月里十分火热,很多人表示很少见如此能够吸引行业兴趣的新兴技术。然而,当兴奋转化为实际部署时,企业需要注意Docker的安全性。
  了解Docker的人都知道,Docker利用容器将资源进行有效隔离。因此容器相当于与Linux OS和hypervisor有着几乎相同的安全运行管理和配置管理级别。但当Docker涉及到安全运营与管理,以及具有保密性、完整性和可用性的通用控件的支持时,Docker可能会让人失望。
  当Docker运行在云提供商平台上时,Docker安全性变得更加复杂。需要知道云提供商正在做什么,或许用户正在于别人共享一台机器。
  Docker虽然容器没有内置的安全因素,而且像Docker这样的新兴技术很难有比较全面的安全措施,但这并不意味着以后也不会出现。

7. 容器部署安全

  也有专家将Docker安全问题的实质定位于配置安全,认为Docker的问题是很难配置一个安全的容器。虽然Docker的开发人员通过创建非常小的容器来降低攻击面,但问题在于大型企业内部在生产环境中运行Docker容器的员工需要有更多的可见性和可控性。
  企业在部署数千或数万台Docker容器时,能够确保这些Docker容器都遵守企业安全策略进行配置是至关重要的事情
  Docker为解决这个问题,就需要增加Docker容器部署的实时可见性,同时实施企业制定的安全策略。也有一些厂商为此推出解决方案,给运营商提供了实时可见性并帮助他们执行容器级别的虚拟基础设施的安全策略。


关于【Docker】Docker的使用案例以及未来发展、Docker Hub 服务、环境安全的详细讲解的详解,七七就先分享到这里了,如果你认为这篇文章对你有帮助,请给七七点个赞吧,如果发现什么问题,欢迎评论区留言!!💕💕

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1028765.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Elsevier旗下】1区(TOP)、CCF推荐,仅2个月左右录用!

计算机领域 • 新刊速递 出版社:Elsevier 影响因子(2022):8.0-9.0 期刊分区:JCR1区,中科院2区(TOP) 检索数据库:SCIE&EI 双检 数据库检索年份:1992年…

客户端和服务端信息交互模型

什么是客户端和服务端? 客户端:可以向服务器发请求,并接收返回的内容进行处理 服务器端:能够接收客户端请求,并且把相关资源信息返回给客户端的 当用户在地址栏中输入网址,到最后看到页面,中间都…

魔众题库系统 v8.8.0 公式编辑升级,注册站内信和邮件,手机Banner支持视频背景

魔众题库系统基于PHP开发,可以用于题库管理和试卷生成软件,拥有极简界面和强大的功能,用户遍及全国各行各业。 魔众题库系统发布v8.8.0版本,新功能和Bug修复累计23项,公式编辑升级,注册站内信和邮件&#…

【文末送书】计算机网络编程 | epoll详解

欢迎关注博主 Mindtechnist 或加入【智能科技社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。关…

解析ASEMI代理瑞萨R7S721031VCFP#AA1芯片及其优势

编辑-Z 在无数种芯片中,R7S721031VCFP#AA1芯片以其独特的性能和优势,脱颖而出,成为许多原创硬件开发人员的首选。本文将从各个层面详细介绍R7S721031VCFP#AA1芯片。 一、R7S721031VCFP#AA1芯片简介 R7S721031VCFP#AA1芯片是一款功能强大的高…

数据结构与算法(C语言版)P6---队列

1、队列的概念及结构 队列:只允许在一端进行插入数据操作,在另一端进行删除操作的特殊线性表,队列具有__先进先出__FIFO(First In First Out) 入队列:进行插入操作的一端称为__队尾__。 出队列:…

计算机网络 第四章:网络层

一.网络层概述 1.1分组转发和路由选择 网络层的主要任务就是将分组从源主机经过多个网络和多段链路传输到目的主机,可以将该任务划分为分组转发和路由选择两种重要的功能。 如图所示:这些异构型网络如果只是需要各自内部通信,那它们只需要实…

【数据结构初阶】四、线性表里的链表(带头+双向+循环 链表)

相关代码gitee自取: C语言学习日记: 加油努力 (gitee.com) 接上期: 【数据结构初阶】三、 线性表里的链表(无头单向非循环链表)_高高的胖子的博客-CSDN博客 引言 通过上期对单链表(无头单向非循环链表&#xff0…

python+vue理发店管理系统

理发店管理系统主要实现角色有管理员和会员,管理员在后台管理用户表模块、token表模块、收藏表模块、商品分类模块、热卖商品模块、活动公告模块、留言反馈模块、理发师模块、会员卡模块、会员充值模块、会员模块、服务预约模块、服务项目模块、服务类别模块、热卖商品评论表模…

【IC设计】NoC(Network on Chip)调研

文章目录 SoC(System on Chip)片上系统SoC的概念SoC总线架构存在的问题 互联网络基础①什么是互联网络?②哪里有互联网络?③互联网络的意义?④互联网络的参数有哪些 NoC(Network on Chip)片上互…

【MySQL基础】--- 约束

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】🎈 本专栏旨在分享学习MySQL的一点学习心得,欢迎大家在评论区讨论💌 目录 一、什么…

近距离看GPU计算-2

文章目录 前言1.SIMT和硬件多线程3.GPU的Memory Hierarchy 前言 本文转自公众号 GPU and Computing 在《近距离看GPU计算》系列第一篇里我们介绍了GPU的一些基础知识及其如何从图形加速设备演化到通用计算平台。本文我们会具体从处理单元设计和存储层次结构两个方面探讨GPU不…

多元化工具汇聚:企业如何提升协同效率?

在现代企业中,协同工作是不可或缺的。然而,随着企业规模的扩大,协同工作的难度也随之增加。针对这些挑战,我们推荐一款多元化工具—J2L3x。在这篇文章中,我们将介绍J2L3x的主要功能和如何利用它来提高企业的协同效率。…

UG\NX二次开发 一个分割曲线的工具

文章作者:里海 来源网站:王牌飞行员_里海_里海NX二次开发3000例,里海BlockUI专栏,C\C++-CSDN博客 简介: 今天有群友发了一个工具演示,是一个分割曲线的工具: 我当时想这位好兄弟怎么这么牛逼,原来啊,他跟你们一样喜欢看我的博客。他用我分享的分割曲线的…

go学习-GMP模型

GMP 好理解还是 GPM 好理解? 按照上述图,从上往下,GPM更适合理解 GMP 模型: Go 语言运行时系统中的 Goroutine、用于管理 Goroutine 调度的 Go Scheduler(P)、机器可用的逻辑处理器数量(M&#…

【数据结构复习之路】线性表(严蔚敏版)万字详解主打基础

专栏:数据结构复习之路 数据结构的三要数:逻辑结构、数据的运算、存储结构(物理结构)。 我接下来要介绍的线性表,顾名思义也将从这三个大方向进行阐述: 一、线性表的定义——逻辑结构 线性表是具有相同…

Flutter绘制拖尾效果

演示: 代码: import dart:ui;import package:flutter/material.dart; import package:kq_flutter_widgets/widgets/chart/ex/extension.dart;class TrailingView extends StatelessWidget {const TrailingView({super.key});overrideWidget build(Build…

成绩发布系统攻略

作为一名教师,管理学生成绩是我们工作中的重要任务之一。传统的手工成绩记录和发布方式已经无法满足现代教育的需求。因此,制作一个高效、安全、便捷的学生成绩发布系统是至关重要的。本文将为您介绍如何制作学生成绩发布系统,以提高教学效率…

MyBatis-Plus的常用注解

一、TableName 在使用MyBatis-Plus实现基本的CRUD时,我们并没有指定要操作的表,只是在Mapper接口继承BaseMapper时,设置了泛型User,而操作的表为user表,由此得出结论,MyBatis-Plus在确定操作的表时&#xf…

Flutter实现PS钢笔工具,实现高精度抠图的效果。

演示: 代码: import dart:ui;import package:flutter/material.dart hide Image; import package:flutter/services.dart; import package:flutter_screenutil/flutter_screenutil.dart; import package:kq_flutter_widgets/widgets/animate/stack.dart…