lxc

Docker和k8s的区别与介绍

坚强是说给别人听的谎言 提交于 2020-04-23 12:19:53
本文来源:鲜枣课堂 2010年,几个搞IT的年轻人,在美国旧金山成立了一家名叫“dotCloud”的公司。 这家公司主要提供基于PaaS的云计算技术服务。具体来说,是和LXC有关的容器技术。 LXC,就是Linux容器虚拟技术(Linux container) 后来,dotCloud公司将自己的容器技术进行了简化和标准化,并命名为——Docker。 Docker技术诞生之后,并没有引起行业的关注。而dotCloud公司,作为一家小型创业企业,在激烈的竞争之下,也步履维艰。 正当他们快要坚持不下去的时候,脑子里蹦出了“开源”的想法。 什么是“开源”?开源,就是开放源代码。也就是将原来内部保密的程序源代码开放给所有人,然后让大家一起参与进来,贡献代码和意见。 Open Source,开源 有的软件是一开始就开源的。也有的软件,是混不下去,创造者又不想放弃,所以选择开源。自己养不活,就吃“百家饭”嘛。 2013年3月,dotCloud公司的创始人之一,Docker之父,28岁的Solomon Hykes正式决定,将Docker项目开源。 Solomon Hykes(今年刚从Docker离职) 不开则已,一开惊人。 越来越多的IT工程师发现了Docker的优点,然后蜂拥而至,加入Docker开源社区。 Docker的人气迅速攀升,速度之快,令人瞠目结舌。 开源当月,Docker 0

docker深入学习

纵饮孤独 提交于 2020-04-20 07:07:19
docker深入学习 一、容器的介绍和容器的发展史 为什么要学习容器? 在openstack之后,目前互联网最火热的技术莫过于docker容器了,早在2015年,京东技术备战双11就是使用了10万+Docker,这两年docker更是如日中天。docker只是容器的一种,在学习docker之前,我有必要先了解一下什么是容器?有助于我们更好的了解docker。 什么是容器: 容器是在隔离的环境里面运行的一个进程,这个隔离的环境有自己的系统目录文件,有自己的ip地址,主机名等。 也有人称:容器是一种轻量级虚拟化的技术。 容器相对于kvm虚拟机的优势: 1:容器能提供接近宿主机的性能,而kvm虚拟机会损害一部分宿主机的性能; 2:同样硬件配置的宿主机最多能启动10虚拟机,那么它可以启动100+容器; 3:启动一台kvm虚拟机,可以能需要20秒,启动一个容器只需要1秒; 4:kvm需要硬件cpu的支持,容器不需要; linux开机启动流程: bios开机硬件自检 根据bios设置的优先启动项 读取mbr引导 加载内核 启动第一个进程/sbin/init 执行系统初始化脚本/etc/rc.d/rc.sysinit 完成系统初始化 运行想要的服务sshd 总结:kvm虚拟机运行一个sshd服务需要完整的开机启动流程,容器是直接启动sshd服务,中间的流程全部精简。(docker共用宿主机内核。

docker深入学习

丶灬走出姿态 提交于 2020-04-19 17:42:22
docker深入学习 一、容器的介绍和容器的发展史 为什么要学习容器? 在openstack之后,目前互联网最火热的技术莫过于docker容器了,早在2015年,京东技术备战双11就是使用了10万+Docker,这两年docker更是如日中天。docker只是容器的一种,在学习docker之前,我有必要先了解一下什么是容器?有助于我们更好的了解docker。 什么是容器: 容器是在隔离的环境里面运行的一个进程,这个隔离的环境有自己的系统目录文件,有自己的ip地址,主机名等。 也有人称:容器是一种轻量级虚拟化的技术。 容器相对于kvm虚拟机的优势: 1:容器能提供接近宿主机的性能,而kvm虚拟机会损害一部分宿主机的性能; 2:同样硬件配置的宿主机最多能启动10虚拟机,那么它可以启动100+容器; 3:启动一台kvm虚拟机,可以能需要20秒,启动一个容器只需要1秒; 4:kvm需要硬件cpu的支持,容器不需要; linux开机启动流程: bios开机硬件自检 根据bios设置的优先启动项 读取mbr引导 加载内核 启动第一个进程/sbin/init 执行系统初始化脚本/etc/rc.d/rc.sysinit 完成系统初始化 运行想要的服务sshd 总结:kvm虚拟机运行一个sshd服务需要完整的开机启动流程,容器是直接启动sshd服务,中间的流程全部精简。(docker共用宿主机内核。

什么是Docker吗?

无人久伴 提交于 2020-04-17 03:10:16
【推荐阅读】微服务还能火多久?>>> Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。Docker 项目后来还加入了 Linux 基金会,并成立推动 开放容器联盟(OCI)。 Docker 自开源后受到广泛的关注和讨论,至今其 GitHub 项目 已经超过 5 万 4 千个星标和一万多个 fork。甚至由于 Docker 项目的火爆,在 2013 年底,dotCloud 公司决定改名为 Docker。Docker 最初是在 Ubuntu 12.04 上开发实现的;Red Hat 则从 RHEL 6.5 开始对 Docker 进行支持;Google 也在其 PaaS 产品中广泛应用 Docker。 Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于 LXC,从 0.7 版本以后开始去除 LXC

什么是Docker吗?

烈酒焚心 提交于 2020-04-16 14:36:56
【推荐阅读】微服务还能火多久?>>> Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于 2013 年 3 月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。Docker 项目后来还加入了 Linux 基金会,并成立推动 开放容器联盟(OCI)。 Docker 自开源后受到广泛的关注和讨论,至今其 GitHub 项目 已经超过 5 万 4 千个星标和一万多个 fork。甚至由于 Docker 项目的火爆,在 2013 年底,dotCloud 公司决定改名为 Docker。Docker 最初是在 Ubuntu 12.04 上开发实现的;Red Hat 则从 RHEL 6.5 开始对 Docker 进行支持;Google 也在其 PaaS 产品中广泛应用 Docker。 Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于 LXC,从 0.7 版本以后开始去除 LXC

Linux Container 基本指令

丶灬走出姿态 提交于 2020-03-29 17:07:50
Linux Container 基本指令 最近上陳松林老師Hadoop的課程,這篇主要是Linux Container的筆記, 在Unbuntu的Terminal中執行,以下內容有些我自訂的格式,千萬不要以為直接複制貼上就可以使用哦。 指令的格式 {paramete}:用大括號包起來代表是參數,可依不同的需求做變換; 通常括號內的名稱會以前面"-"的全名作為命名,如: -n {name}。 $開頭表示為指令。 Linux Container Command 創建虛擬機 $ sudo lxc-create -t {template} -n {name} sudo = super user do lxc = linux container {template} = 這裡表示Linux版本,可使用ubuntu or centos這兩種。 {name} = 表示要創建的機器名稱,可自訂;以下-n {name}均為指定機器名稱。 啟動虛擬機 $ sudo lxc-start -n {name} 複制原有虛擬機的環境到新的虛擬機 $ sudo lxc-clone {old machine} {new machine} {old machine} = 已存在虛擬機名稱 {new machine} = 將要創建的虛擬機名稱 由外部關閉虛擬機 $ sudo lxc-stop -n {name}

服务器搭建与Docker安装

早过忘川 提交于 2020-03-24 11:30:17
3 月,跳不动了?>>> 第1章 简介 1.1 服务器简介 服务器是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机提供计算或者应用服务。服务器具有高速的CPU运算能力、长时间的可靠运行、强大的I/O外部数据吞吐能力以及更好的扩展性。根据服务器所提供的服务,一般来说服务器都具备承担响应服务请求、承担服务、保障服务的能力。服务器作为电子设备,其内部的结构十分的复杂,但与普通的计算机内部结构相差不大,如:cpu、硬盘、内存,系统、系统总线等。 1.2 Docker简介 1.2.1 Docker Docker时Docker.Lnc公司开源的一个基于LXC技术之上搭建的Container容器引擎,源代码托管在Github上,基于Go语言并遵从Apache2.0协议开源。 Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。 Docker将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了Docker,就不用担心环境问题。 总体来说,Docker的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。 1.2.2 Docker概念

LXD 2.0 系列(四):资源控制

我与影子孤独终老i 提交于 2020-03-20 13:45:31
这是 LXD 2.0 系列介绍文章的第四篇。 LXD 入门 安装与配置 你的第一个 LXD 容器 资源控制 镜像管理 远程主机及容器迁移 LXD 中的 Docker LXD 中的 LXD 实时迁移 LXD 和 Juju LXD 和 OpenStack 调试,及给 LXD 做贡献 因为 LXD 容器管理有很多命令,因此这篇文章会很长。 如果你想要快速地浏览这些相同的命令,你可以 尝试下我们的在线演示 ! 可用资源限制 LXD 提供了各种资源限制。其中一些与容器本身相关,如内存配额、CPU 限制和 I/O 优先级。而另外一些则与特定设备相关,如 I/O 带宽或磁盘用量限制。 与所有 LXD 配置一样,资源限制可以在容器运行时动态更改。某些可能无法启用,例如,如果设置的内存值小于当前内存用量,但 LXD 将会试着设置并且报告失败。 所有的限制也可以通过配置文件继承,在这种情况下每个受影响的容器将受到该限制的约束。也就是说,如果在默认配置文件中设置 limits.memory=256MB ,则使用默认配置文件(通常是全都使用)的每个容器的内存限制为 256MB。 我们不支持资源限制池,将其中的限制由一组容器共享,因为我们没有什么好的方法通过现有的内核 API 实现这些功能。 磁盘 这或许是最需要和最明显的需求。只需设置容器文件系统的大小限制,并对容器强制执行。 LXD 确实可以让你这样做!

LXD 2.0 系列(七):LXD 中的 Docker

泄露秘密 提交于 2020-03-20 13:44:18
这是 LXD 2.0 系列介绍文章的第七篇。 LXD 入门 安装与配置 你的第一个 LXD 容器 资源控制 镜像管理 远程主机及容器迁移 LXD 中的 Docker LXD 中的 LXD 实时迁移 LXD 和 Juju LXD 和 OpenStack 调试,及给 LXD 做贡献 为什么在 LXD 中运行 Docker 正如我在 系列的第一篇 中简要介绍的,LXD 的重点是系统容器,也就是我们在容器中运行一个完全未经修改的 Linux 发行版。LXD 的所有意图和目的并不在乎容器中的负载是什么。它只是设置容器命名空间和安全策略,然后运行 /sbin/init 来生成容器,接着等待容器停止。 应用程序容器,例如由 Docker 或 Rkt 所实现的应用程序容器是非常不同的,因为它们用于分发应用程序,通常在它们内部运行单个主进程,并且比 LXD 容器生命期更短暂。 这两种容器类型不是相互排斥的,我们的确看到使用 Docker 容器来分发应用程序的价值。这就是为什么我们在过去一年中努力工作以便让 LXD 中运行 Docker 成为可能。 这意味着,使用 Ubuntu 16.04 和 LXD 2.0,您可以为用户创建容器,然后可以像正常的 Ubuntu 系统一样连接到这些容器,然后运行 Docker 来安装他们想要的服务和应用程序。 要求 要让它正常工作要做很多事情,Ubuntu 16.04

LXD 2.0 系列(一):LXD 入门

岁酱吖の 提交于 2020-03-20 12:50:16
这是 LXD 2.0 系列介绍文章的第一篇。 LXD 入门 安装与配置 你的第一个 LXD 容器 资源控制 镜像管理 远程主机及容器迁移 LXD 中的 Docker LXD 中的 LXD 实时迁移 LXD 和 Juju LXD 和 OpenStack 调试,及给 LXD 做贡献 关于 LXD 几个常见问题 什么是 LXD ? 简单地说, LXD 就是一个提供了 REST API 的 LXC 容器管理器。 LXD 最主要的目标就是使用 Linux 容器而不是硬件虚拟化向用户提供一种接近虚拟机的使用体验。 LXD 和 Docker/Rkt 又有什么关系呢 ? 这是一个最常被问起的问题,现在就让我们直接指出其中的不同吧。 LXD 聚焦于系统容器,通常也被称为架构容器。这就是说 LXD 容器实际上如在裸机或虚拟机上运行一般运行了一个完整的 Linux 操作系统。 这些容器一般基于一个干净的发布镜像并会长时间运行。传统的配置管理工具和部署工具可以如在虚拟机、云实例和物理机器上一样与 LXD 一起使用。 相对的, Docker 关注于短期的、无状态的、最小化的容器,这些容器通常并不会升级或者重新配置,而是作为一个整体被替换掉。这就使得 Docker 及类似项目更像是一种软件发布机制,而不是一个机器管理工具。 这两种模型并不是完全互斥的。你完全可以使用 LXD 为你的用户提供一个完整的