容器技术

【Docker&VM】docker容器与虚拟机有什么区别?

我怕爱的太早我们不能终老 提交于 2019-12-13 04:44:28
各种虚拟机技术开启了云计算时代;而Docker,作为下一代虚拟化技术,正在改变我们开发、测试、部署应用的方式。那虚拟机与Docker究竟有何不同呢? 首先,大家需要明确一点,Docker容器不是虚拟机! 第一次接触Docker的时候,我把它比做一种轻量级的虚拟机。这样做无可厚非,因为Docker最初的成功秘诀,正是它比虚拟机更节省内存,启动更快。Docker不停地给大家宣传,"虚拟机需要数分钟启动,而Docker容器只需要50毫秒"。 然而,Docker容器并非虚拟机! 理解虚拟机 使用虚拟机运行多个相互隔离的应用时,如下图: 从下到上理解上图: 基础设施(Infrastructure)。它可以是你的个人电脑,数据中心的服务器,或者是云主机。 主操作系统(Host Operating System)。你的个人电脑之上,运行的可能是MacOS,Windows或者某个Linux发行版。 虚拟机管理系统(Hypervisor)。利用Hypervisor,可以在主操作系统之上运行多个不同的从操作系统。类型1的Hypervisor有支持MacOS的HyperKit,支持Windows的Hyper-V以及支持Linux的KVM。类型2的Hypervisor有VirtualBox和VMWare。 从操作系统(Guest Operating System)。假设你需要运行3个相互隔离的应用

Docker新手入门教程

。_饼干妹妹 提交于 2019-12-13 01:56:13
Docker新手入门教程 1、简介 Docker 是一个开源的应用容器引擎;是一个轻量级容器技术; Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像; 运行中的这个镜像称为容器,容器启动是非常快速的。 2、核心概念 docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上); docker客户端(Client):连接docker主机进行操作; docker仓库(Registry):用来保存各种打包好的软件镜像; docker镜像(Images):软件打包好的镜像;放在docker仓库中; docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用 使用Docker的步骤: 1)、安装Docker 2)、去Docker仓库找到这个软件对应的镜像; 3)、使用Docker运行这个镜像,这个镜像就会生成一个Docker容器; 4)、对容器的启动停止就是对软件的启动停止; 3、安装Docker 1)、安装linux虚拟机 ​ 1)、VMWare、VirtualBox(安装); ​ 2)、导入虚拟机文件centos7-atguigu.ova; ​ 3)、双击启动linux虚拟机;使用 root/ 123456登陆 ​ 4)

安全容器在边缘计算场景下的实践

岁酱吖の 提交于 2019-12-12 23:41:24
导读: 随着云计算边界不断向边缘侧延展,传统 RunC 容器已无法满足用户对不可信、异构工作负载的运行安全诉求,边缘 Serverless、边缘服务网格等更是对容器安全隔离提出了严苛的要求。本文将介绍边缘计算场景如何构建安全运行时技术基座,以及安全容器在架构、网络、监控、日志、存储、以及 K8s API 兼容等方面的遇到的困难挑战和最佳实践。 正文: 本文主要分为四个部分,首先前两个部分会分别介绍一下ACK安全沙箱容器和边缘容器(Edge Kubernetes),这两个方向内容目前大部分人接触并不是很多。第三部着重分享安全沙箱容器在边缘这边的解决方案与实践经验,最后会介绍一下我们在安全容器方向新的探索和实践-可信/机密计算。 安全容器运行时 据 Gartner 预测,2019 年一半以上的企业会在其开发和生产环境中使用容器部署应用,容器技术日趋成熟稳定,然而在未容器化的企业或用户中,42% 以上的受访者表示容器安全成为其容器化的最大障碍之一,主要包括容器运行时安全、镜像安全和数据安全加密等。 端到端的云原生安全架构 在讲安全沙箱容器之前简单介绍下端到端云原生安全架构,主要分为三部分: 1.基础架构安全 基础架构安全依赖于云厂商或者是专有云一些基础设施安全能力,也包括 RAM认证,细粒度RAM授权,支持审计能力等等。 2.安全软件供应链 这部分包括镜像签名,镜像扫描,安全合规等等

Docker入门-笔记-1

流过昼夜 提交于 2019-12-12 18:52:30
Docker入门 Docker 是 Golang 编写的, 自 2013 年推出以来,受到越来越多的开发者的关注。如果你关注最新的技术发展,那么你一定听说过 Docker。不管是云服务还是微服务(Microservices),越来越多的厂商都开始基于 Docker 作为基础设施自动化的工具。那么什么是 Docker?Docker与传统的虚拟机有什么区别?为何要采用 Docker?如何使用 Docker? 本文,就针对上述提到的问题,来简单介绍下 Docker。 什么是 Docker Docker 是开源的应用容器引擎。 Docker 可以让你将所有应用软件以及它的以来打包成软件开发的标准化单元。 Docker 容器将软件以及它运行安装所需的一切文件(代码、运行时、系统工具、系统库)打包到一起,这就保证了不管是在什么样的运行环境,总是能以相同的方式运行。就好像 Java 虚拟机一样,“一次编写,到处运行(Write once, run anywhere)”,而 Docker 是“一次构建,到处运行(Build once,run anywhere)”。 Docker 是一种“容器即服务”(Docker Containers as a Service ,简称 CaaS),使得开发和IT运营团队可以对于应用的构建、发布、运行更加敏捷和可控。 概括的说: Docker

安全容器在边缘计算场景下的实践

為{幸葍}努か 提交于 2019-12-12 18:04:19
导读: 随着云计算边界不断向边缘侧延展,传统 RunC 容器已无法满足用户对不可信、异构工作负载的运行安全诉求,边缘 Serverless、边缘服务网格等更是对容器安全隔离提出了严苛的要求。本文将介绍边缘计算场景如何构建安全运行时技术基座,以及安全容器在架构、网络、监控、日志、存储、以及 K8s API 兼容等方面的遇到的困难挑战和最佳实践。 正文: 本文主要分为四个部分,首先前两个部分会分别介绍一下ACK安全沙箱容器和边缘容器(Edge Kubernetes),这两个方向内容目前大部分人接触并不是很多。第三部着重分享安全沙箱容器在边缘这边的解决方案与实践经验,最后会介绍一下我们在安全容器方向新的探索和实践-可信/机密计算。 安全容器运行时 据 Gartner 预测,2019 年一半以上的企业会在其开发和生产环境中使用容器部署应用,容器技术日趋成熟稳定,然而在未容器化的企业或用户中,42% 以上的受访者表示容器安全成为其容器化的最大障碍之一,主要包括容器运行时安全、镜像安全和数据安全加密等。 端到端的云原生安全架构 在讲安全沙箱容器之前简单介绍下端到端云原生安全架构,主要分为三部分: 1.基础架构安全 基础架构安全依赖于云厂商或者是专有云一些基础设施安全能力,也包括 RAM认证,细粒度RAM授权,支持审计能力等等。 2.安全软件供应链 这部分包括镜像签名,镜像扫描,安全合规等等

安全容器在边缘计算场景下的实践

亡梦爱人 提交于 2019-12-12 16:49:43
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 导读: 随着云计算边界不断向边缘侧延展,传统 RunC 容器已无法满足用户对不可信、异构工作负载的运行安全诉求,边缘 Serverless、边缘服务网格等更是对容器安全隔离提出了严苛的要求。本文将介绍边缘计算场景如何构建安全运行时技术基座,以及安全容器在架构、网络、监控、日志、存储、以及 K8s API 兼容等方面的遇到的困难挑战和最佳实践。 正文: 本文主要分为四个部分,首先前两个部分会分别介绍一下ACK安全沙箱容器和边缘容器(Edge Kubernetes),这两个方向内容目前大部分人接触并不是很多。第三部着重分享安全沙箱容器在边缘这边的解决方案与实践经验,最后会介绍一下我们在安全容器方向新的探索和实践-可信/机密计算。 安全容器运行时 据 Gartner 预测,2019 年一半以上的企业会在其开发和生产环境中使用容器部署应用,容器技术日趋成熟稳定,然而在未容器化的企业或用户中,42% 以上的受访者表示容器安全成为其容器化的最大障碍之一,主要包括容器运行时安全、镜像安全和数据安全加密等。 端到端的云原生安全架构 在讲安全沙箱容器之前简单介绍下端到端云原生安全架构,主要分为三部分: 1.基础架构安全 基础架构安全依赖于云厂商或者是专有云一些基础设施安全能力,也包括 RAM认证,细粒度RAM授权

docker 存储驱之overlayFS

穿精又带淫゛_ 提交于 2019-12-12 15:49:22
一、概述 docker镜像采用分层分层构建设计,每层称为"layer", layer存放在/data/docker/存储驱动/目录下面 这些存储驱动有,AUFS,OverlayFS等,可以通过docker info命令查看存储驱动,centos7.1+默认采用OverlayFS模式. 二、OverlayFS介绍 OverlayFS是一种堆叠文件系统,建立在其他文件系统之上,并不参与磁盘底层划分,只是将底层文件系统目录"合并",实际是伪合并,只是呈现给用户好像一个文件系统结构,这也就是联合挂载技术,对比于AUFS,OverlayFS速度更快,实现更简单,因为OverlayFS只分两层,只读层,和读写层, Linux 内核为Docker提供的OverlayFS驱动有两种:overlay和overlay2。而overlay2是相对于overlay的一种改进,在inode利用率方面比overlay更有效。但是overlay有环境需求:docker版本17.06.02+,宿主机文件系统需要是ext4或xfs格式. 联合挂载技术: overlayfs通过三个目录:lower目录、upper目录、以及work(不太理解这个目录怎么工作的)目录实现,其中lower目录可以是多个,work目录为工作基础目录,挂载后内容会被清空,且在使用过程中其内容用户不可见

初探Docker网络模式

﹥>﹥吖頭↗ 提交于 2019-12-12 11:47:57
Docker使用Linux桥接(参考 《Linux虚拟网络技术》 ),在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的Container-IP直接通信。 Docker网桥是宿主机虚拟出来的,并不是真实存在的网络设备,外部网络是无法寻址到的,这也意味着外部网络无法通过直接Container-IP访问到容器。如果容器希望外部访问能够访问到,可以通过映射容器端口到宿主主机(端口映射),即docker run创建容器时候通过 -p 或 -P 参数来启用,访问容器的时候就通过[宿主机IP]:[容器端口]访问容器。 四类网络模式 网络模式 配置 说明 host –net=host 容器和宿主机共享Network namespace。 container –net=container:NAME_or_ID 容器和另外一个容器共享Network namespace。 kubernetes中的pod就是多个容器共享一个Network namespace。 none –net=none 容器有独立的Network namespace,但并没有对其进行任何网络设置,如分配veth

Docker的基本操作命令

核能气质少年 提交于 2019-12-12 09:29:23
Docker介绍 Docker 是一个能够把开发应用程序自动部署到容器的开源引擎。它由Docker公司的团队编写,基于Apache 2.0开源协议授权。它提供了一个简单、轻量的建模方式,使开发生命周期更高效快速,鼓励了面向服务的架构设计。Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。 Docker 的特点: 更快速的交付和部署 更高效的虚拟化 更轻松的迁移和扩展 更简单的管理 容器技术与传统虚拟机性能对比 Docker与虚拟机建构对比 Docker 容器本质上是宿主机上的一个进程。Docker 通过 namespace 实现了资源隔离,通过 cgroups 实现了资源的限制,通过写时复制机制(copy-on-write)实现了高效的文件操作。 Docker有五个命名空间: 进程、网络、挂载、宿主和共享内存,为了隔离有问题的应用,Docker运用Namespace将进程隔离,为进程或进程组创建已隔离的运行空间,为进程提供不同的命名空间视图。这样,每一个隔离出来的进程组,对外就表现为一个container(容器)。需要注意的是

微服务

a 夏天 提交于 2019-12-12 03:18:12
微服务 1 微服务的介绍 1.1 微服务的定义 微,狭义来讲就是体积小、著名的"2 pizza 团队"很好的诠释了这一解释(2 pizza 团队最早是亚马逊 CEO Bezos提出来的,意思是说单个服务的设计,所有参与人从设计、开发、测试、运维所有人加起来 只需要2个披萨就够了 )。 而所谓服务,一定要区别于系统,服务一个或者一组相对较小且独立的功能单元,是用户可以感知最小功能集。 1.2微服务的由来 微服务最早由Martin Fowler与James Lewis于2014年共同提出,微服务架构风格是一种使用一套小服务来开发单个应用的方式途径,每个服务运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API,这些服务基于业务能力构建,并能够通过自动化部署机制来独立部署,这些服务使用不同的编程语言实现,以及不同数据存储技术,并保持最低限度的集中式管理 1.3微服务的特点 微服务架构和其他架构的对比 特点: 1)集中式架构:单体无分散 2)分布式架构:分散压力 3)微服务架构:分散能力 微服务架构优势 1)每个微服务组件都是简单灵活的,能够独立部署。不再像单体应用时代,应用需要一个庞大的应用服务器来支撑。 2)可以由一个小团队负责更专注专业,相应的也就更高效可靠。 3)微服务之间是松耦合的,微服务内部是高内聚的,每个微服务很容易按需扩。 2 微服务的四种原则 2.1