Docker

两种方式创建你自己的 Docker 基本映像

欢迎大家,今天我们学习一下 docker 基本映像以及如何构建我们自己的 docker 基本映像。Docker 是一个开源项目,提供了一个可以打包、装载和运行任何应用的轻量级容器的开放平台。它没有语言支持、框架和打包系统的限制,从小型的家用电脑到高端服务器,在何时何地都可以运行。这使它们可以不依赖于特定软件栈和供应商,像一块块积木一样部署和扩展网络应用、数据库和后端服务。 Docker 映像是不可更改的只读层。Docker 使用 Union File System 在只读文件系统上增加可读写的文件系统,但所有更改都发生在最顶层的可写层,而其下的只读映

搭建一个私有的Docker registry

这是系列的第二篇文章,这系列讲述了我的公司如何把基础服务从PaaS迁移到Docker上 第一篇文章: 我谈到了接触Docker之前的经历; 第三篇文章: 我展示如何使创建镜像的过程自动化以及如何用Docker部署一个Rails应用。 为什么需要搭建一个私有的registry呢?嗯,对于新手来说,Docker Hub(一个Docker公共仓库)只允许你拥有一个免费的私有版本库(repo)。其他的公司也开始提供类似服务,但是价格可不便宜。另外,如果你需要用Docker部署一个用于生产环境的应用,恐怕你不希望将这些镜像放在公开的Docker Hub上吧! 这篇文章提供了一个非

走向 Docker

这是系列的第一篇文章,这系列讲述了我的公司如何把基础服务从PaaS迁移到Docker上。如果你愿意,你可以直接跳过介绍(这篇文章)直接看技术相关的话题(链接在页面的底部)。 上个月,我一直在折腾开发环境。这是我个人故事和经验,关于尝试用Docker简化Rails应用的部署过程。 当我在2012年创建我的公司 Touchware时,我还是一个独立开发者。很多事情很小,不复杂,他们不需要很多维护,他们也不需要部署到很多机器上。经过过去一年的发展,我们成长了很多(我们现在是是拥有10个人的团队)而且我们的服务端的程序和API无论在范围和规模

系统管理员的容器时代之殇

系统管理现在处于一个癫狂的时代,一片混乱。 我并不是抱怨老式系统管理员们,他们还是知道如何让系统工作起来,知道怎么更新系统和如何升级扩容。 这篇吐槽是关于容器、预构建虚拟机镜像的,它们真是令人难以置信的混乱,它们的脑子里面就根本没有可信和升级的概念。 (题图来自crtdot.com) 举个 Hadoop 的例子,似乎就没有人知道如何从头构建一份 Hadoop,它那令人头昏眼花的依赖关系、版本需求和构建工具让人云山雾罩。所有这些神奇的工具仍然是通过传统的 make 命令构建的,每个工具都是它自己带的,彼此不兼容,你得按照没有复用意

如何在Docker容器中运行GUI程序

各位,今天我们将学习如何在Docker之中运行GUI程序。我们可以轻易地在Docker容器中运行大多数GUI程序且不出错。Docker是一个开源项目,提供了一个打包、分发和运行任意程序的轻量级容器的开放平台。它没有语言支持、框架或者打包系统的限制,并可以运行在任何地方、任何时候,从小型的家用电脑到高端的服务器都可以运行。这让人们可以打包不同的包用于部署和扩展网络应用,数据库和后端服务而不必依赖于特定的栈或者提供商。 下面是我们该如何在Docker容器中运行GUI程序的简单步骤。本教程中,我们会用Firefox作为例子。 1. 安装 Docker

Google云服务为Docker应用提供简化版Ubuntu

Ubuntu Core为运行容器提供了最小的轻量级Linux环境 Google为自己的云服务采用了一个简化版的Canonical Ubuntu Linux发行版,以优化运行Docker和其他容器。 Ubuntu Core被设计成仅提供在云上运行Linux所必需的组件。它发布了一个早期预览版,Canonical命名其为Snappy。这个新版本裁减了大量在普通Linux发行版中常见而在云应用中不实用的库和应用程序。 Google计算引擎(GCE)和Microsoft Azure加入了支持这个新的发行版的行列。 从Canonical了解到,Ubuntu Core将为用户提供一个部署Docker的简单方式,一个日益精简的虚拟容器允许用户快速

Docker 的现状与未来

Docker - 迄今为止发生的那些事情 Docker 是一个专为 Linux 容器而设计的工具集,用于构建、交付和运行分布式应用。它最初是 DotCloud 的一个开源项目,于2013年3月发布。这个项目越来越受欢迎,以至于 DotCloud 公司都更名为 Docker 公司(并最终出售了原有的 PaaS 业务)。Docker 1.0是在2014年6月发布的,而且延续了之前每月更新一个版本的传统。 Docker 1.0版本的发布标志着 Docker 公司认为该平台已经充分成熟,足以用于生产环境中(由该公司与合作伙伴提供付费支持选择)。每个月发布的更新表明该项目正在迅速发展,比如增添一些新特

Docker 的镜像并不安全!

最近使用Docker下载官方容器镜像的时候,我发现这样一句话: ubuntu:14.04: The image you are pulling has been verified (您所拉取的镜像已经经过验证) 起初我以为这条信息引自Docker大力推广的镜像签名系统,因此也就没有继续跟进。后来,研究加密摘要系统的时候Docker用这套系统来对镜像进行安全加固我才有机会更深入的发现,逻辑上整个与镜像安全相关的部分具有一系列系统性问题。 Docker所报告的,一个已下载的镜像经过验证,它基于的仅仅是一个标记清单(signed manifest),而Docker却从未据此清单对镜像的校验和进行验证。一

如何在 CentOS 7 上安装 Docker

Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单。容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止。Docker 帮助系统管理员和程序员在容器中开发应用程序,并且可以扩展到成千上万的节点。 容器和 VM(虚拟机)的主要区别是,容器提供了基于进程的隔离,而虚拟机提供了资源的完全隔离。虚拟机可能需要一分钟来启动,而容器只需要一秒钟或更短。容器使用宿主操作系统的内核,而虚拟机使用独立的内核。 Docker 的局限性之一是,它只能用在 64 位的操作系统上。 在这篇文章中我们将讨论如何在 CentOS 7.x 中

教你在 Ubuntu 上使用 LXC 容器

使用容器来保证主机环境的安全性,这个概念早在十年前就已经存在(例如 FreeBSD 的 jail 虚拟化技术),但是直到最近,随着部署云架构需求越来越多,像 LXC 和 Docker 这种 Linux 下的容器才成为被关注的焦点。当然,由于主流厂商(云服务商如亚马逊主推 AWS,微软主推 Azure;发行版如红帽、Ubuntu等)组成的强大靠山,Docker 已经被放在媒体的聚光灯下面,其实,Docker 里面所谓的容器技术是由 LXC 提供的。 你只是一个普通的 Linux 用户,那 Docker/LXC 能为你带来什么好处呢?容器可以将你的应用在不同的 Linux 发行版之间迁移。想像