Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。Docker官方是这样介绍Machine的初衷的: 之前,Docker的安装流程非常复杂,用户需要登录到相应的主机上,根据官方的安装和配置指南来安装Docker,并且不同的操作系统的安装步骤也是不一样的。而有了Machine后,不管是在笔记本、虚拟机还是公有云实例上,用户仅仅需要一个命令....当然那你需要先安装Machine。 Machine的命令也非常简单: %machinecreate-d 看着有点懵,infrastruc
2014-12-07 14:02 郭蕾
在本文中,我们将迈出使用Docker的第一步,学习第一个Docker容器。本章还会介绍如何与Docker进行交互的基本知识。 1 确保Docker已经就绪 首先,我们会查看Docker是否能正常工作,然后学习基本的Docker的工作流:创建并管理容器。我们将浏览容器的典型生命周期:从创建、管理到停止,直到最终删除。 第一步,查看docker程序是否存在,功能是否正常,如代码清单3-1所示。 代码清单3-1 查看docker程序是否正常工作 $ sudo docker info Containers: 0 Images: 0 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Dirs: 144 Execution Dr
2014-12-24 14:30
【编者按】Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源。Docker提供了一种在安全、可重复的环境中自动部署软件的方式,它的出现拉开了基于云计算平台发布产品方式的变革序幕。 1. 背景 1.1. 由PaaS到Container 2013年2月,前Gluster的CEO Ben Golub和dotCloud的CEO Solomon Hykes坐在一起聊天时,Solomon谈到想把dotCloud内部使用的Container容器技术单独拿出来开源,然后围绕这个技术开一家新公司提供技术支持。28岁的Solomon在使用python开发dotClou
2014-12-26 22:10 肖德时
1. Docker命令行 Docker官方为了让用户快速了解Docker,提供了一个交互式教程,旨在帮助用户掌握Docker命令行的使用方法。但是由于Docker技术的快速发展,此交互式教程已经无法满足Docker用户的实际使用需求,所以让我们一起开始一次真正的命令行学习之旅。首先,Docker的命令清单可以通过运行docker,或者docker help命令得到: $ sudo docker 在Docker容器技术不断演化的过程中,Docker的子命令已经达到34个之多,其中核心子命令(例如:run)还会有复杂的参数配置。笔者通过结合功能和应用场景方面的考虑,把命令行划分为4个部分,方便我
2014-12-27 11:11 肖德时
前言 Docker是Docker.Inc公司开源的一个基于轻量级虚拟化技术的容器引擎项目,整个项目基于Go语言开发,并遵从Apache 2.0协议。通过分层镜像标准化和内核虚拟化技术,Docker使得应用开发者和运维工程师可以以统一的方式跨平台发布应用,并且以几乎没有额外开销的情况下提供资源隔离的应用运行环境。由于众多新颖的特性以及项目本身的开放性,Docker在不到两年的时间里迅速获得诸多IT厂商的参与,其中更是包括Google、Microsoft、VMware等业界行业领导者。同时,Docker在开发者社区也是一石激起千层浪,许多如我之码农纷纷开始关注、学习和
2014-12-14 09:26 孙宏亮
1. 背景 敏捷开发已经流行了很长时间,如今有越来越多的企业开始践行敏捷开发所提倡的以人为中心、迭代、循序渐进的开发理念。在这样的场景下引入Docker技术,首要目的就是使用Docker提供的虚拟化方式,给开发团队建立一套可以复用的开发环境,让开发环境可以通过Image的形式分享给项目的所有开发成员,以简化开发环境的搭建。但是,在没有Docker技术之前就已经有类如Vagrant的开发环境分发技术,软件开发者一样可以创建类似需求的环境配置流程。所以在开发环境方面,Docker技术的优势并不能很好的发挥出来。笔者认为Docker的优点在于可以
2014-12-29 10:28 肖德时
在TES GLOBAL,我们已经爱上Docker并从Docker的0.8版本开始就在生产环境中使用它。我们的很多开发者都参加了在DockerCon欧洲上的培训。下面是我们总结的一些tips,希望可以帮到已经有Docker基础的同学。 1. CLI 1.1 美化docker ps的输出 将Docker ps的输出通过管道到less -S,这样表格式的行就不会被折叠。 docker ps - a | less -S 1.2 刷新日志 docker的日志不会即时刷新,除非你使用了-F选项: docker logs lt;containerid -F 1.3 从docker inspect中获取一个单一的值 docker inspect默认会输出大量的JSON格式的数据。你可以用jq,来
2014-12-23 14:39
1. 背景 Docker从一开始的概念阶段就致力于使用开源驱动的方式来发展,它的成功缘于国外成熟的开源文化氛围,以及可借鉴的社区运营经验。通过本文详细的介绍,让大家可以全面了解一个项目亦或者一项技术是如何通过开源的方式发展起来的。为了更准确的描述Docker的社区状况,请先看一份来自Docker官方的数据: 图中数据的看点有: 超过500个代码贡献者。代码的贡献者在社区发展过程中是非常重要的催化剂,它会不断加快产品迭代的速度,让项目更快的交付到最终用户的手里。 20个全职开发。一般的开源项目一般都不会有如此多的全职开发人
2014-12-28 10:24 肖德时
Docker Swarm是一个Dockerized化的分布式应用程序的本地集群,它是在Machine所提供的功能的基础上优化主机资源的利用率和容错服务。具体来说,Docker Swarm支持用户创建可运行Docker Daemon的主机资源池,然后在资源池中运行Docker容器。Docker Swarm可以管理工作负载并维护集群状态。Docker默认调度器会根据Docker容器的工作负载以及集群中主机的可用资源,使用bin pack自动优化工作负载。 例如,调度一个需要1G内存的Redis容器: %dockerrun-d-P-m1gredis 为了支持特定的需求和基于策略的调度,Docker Swarm还提供了标准和自定义约束。
2014-12-08 07:13
最近有很多关于Docker网络管理的讨论,对这个问题大家众说纷坛。引起争论的主要原因是近年来使用Docker的人越来越多,用户逐渐意识到Docker的网络缺陷亟待解决。当然,实际情况也是这样,目前Docker的网络能力严重不足,不支持复杂的设置,现在Docker的网络模型存在性能问题且不易扩展。不过对于一个基本的应用而言,Docker的网络模型已经很不错了。然而,我们不能永远停留在使用基本应用的级别上,伴随着云计算和微服务的普及,这些还远远不够。作为libcontainer的贡献者之一,我想通过本文,发表一些自己的观点。 首先我需要先聊聊一些
2014-12-17 08:36
分享到微信
打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。