Docker介绍以及Registry的安装 -摘自http://dockone.io/article/108

本文介绍了Docker与Registry,作者说Docker是一个application hosting框架,亮点是简化应用的部署以及应用部署的版本控制。同时,作者介绍了Docker Registry的安装以及一个可以通过网页浏览Registry的镜像项目docker-registry-web。

Docker是一个应用托管框架(application hosting framework),它可以通过类似虚拟机一样的容器来部署、管理应用,容器又可以通过API创建和控制它们。

Docker允许你把依赖/服务器和应用打包成一个叠加在其他镜像(如Ubuntu,或专为需求准备的内容)之上的瘦小镜像。有别于虚拟机的是,尽管使用了LXCcgroups(前面文章中提到的Linux概念)将它们与其它系统中的程序严格地隔离开来,它们却共享着相同的资源,并且几乎没有额外开销。当你启动一个虚拟机,你最终得到的是一个用于安装或运行应用的提示符或UI。当你启动一个应用容器,你只要运行一个用于启动应用及其依赖的脚本,仅此而已。你能在一个系统上运行数个虚拟机,却可以运行上千个应用容器。如果你想要流线分布,可以考虑在系统层面上使用CoreOS来托管你的镜像。

Docker的另一个功能是版本控制。你可以把容器里做的任何改变提交成一个新的镜像。当然,你也可以使用同一个镜像(镜像本身是不可变的)启动任意多个容器。

在分发镜像给其他团队或公司的过程中,可能需要在你的当前系统之外找个地方发布或定位你的镜像。这可通过Registry实现。尽管Docker提供了公共的Docker Hub Registry,你或许想要一个用于自己公司或团队的私有的Registry。

因为Docker的组件/附件自身经常是通过Docker镜像发布的,本示例也侧面展示了启动一个以Docker为基础的应用是多么简单(如果你之前并不熟悉这块)。除了服务占用的端口之外,你无须知道客户机应用的任何东西。实际上,你可以启动其他Docker镜像需要的镜像(之后就被称为容器),让Docker映射随机的本地端口给它,然后将提供服务的容器的端口自动转发到依赖这些服务的容器上(通过“链接”功能)。

使用类似Registry项目首页示例的命令来启动你的Registry:

$ docker run 
     -e SETTINGS_FLAVOR=s3 
     -e AWS_BUCKET=mybucket 
     -e STORAGE_PATH=/registry 
     -e AWS_KEY=myawskey 
     -e AWS_SECRET=myawssecret 
     -e SEARCH_BACKEND=sqlalchemy 
     -p 5000:5000 
     registry

这主要是为应用设置六个环境变量,让它保存到S3上,并将宿主(本地)系统的5000端口转发到客户机(Registry)的5000端口上。“registry”是运行的镜像名称(如果它是由某个用户拥有的,那看起来像是“/”)。如果本地尚不存在这个镜像,它将被定位并拉取(pull)下来。如果没有使用registry前缀做限定,将会假定它位于Docker Hub上。

这个示例中,我们从Hub上将Ubuntu镜像拉取下来,然后推送(push)到我们的Registry里。值得注意的是,我们通过添加Registry的主机名/端口前缀来限定“推送”和“拉取”请求到我们的registry中。

$ sudo docker pull ubuntu:14.04
$ sudo docker tag 826544226fdc yourregistry.net:5000/ubuntu
$ sudo docker push yourregistry.net:5000/ubuntu
$ sudo docker pull yourregistry.net:5000/ubuntu

tag命令在我们的registry中为给定的其他地方的镜像保留了一个新的位置。你可以在本地列表中得到它的ID字符串。

默认情况下,Registry只与Docker socket直接通讯或通过REST进行管理。如果你想更容易地浏览镜像,请安装docker-registry-web项目:

$ docker run -p 8080:8080 -e REG1=http://<system hostname>:5000/v1/ atcol/docker-registry-ui

请记住,它需要与你的Registry实例联系,所以要确保你提供的registry主机名在docker-registry-web容器里可被解析。

截图如下:

docker-registry-web实际上是一个Java应用,然而它是个设计不佳的镜像(如果知道这点对你很重要的话)。

最后,在你玩够Registry实例后,记得将它隐藏在Nginx代理之后,并添加认证(双向、HTTP等)。

时间: 2024-08-26 21:20:07

Docker介绍以及Registry的安装 -摘自http://dockone.io/article/108的相关文章

docker介绍和安装(一)

虚拟化简介 虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器.网络.内存及存储等,予以抽象.转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源.这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理组态所限制.一般所指的虚拟化资源包括计算能力和资料存储. docker介绍 Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基

Docker介绍及安装

Docker介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app).几乎没有性能开销,可以很容易地在机器和数据中心中运行.最重要的是,他们不依赖于任何语言.框架或包括系统.更详细的介绍可以看下<5分钟弄懂Docker>. Docker安装 这里的安装环境为Centos6.4,其他系统的安装请参考这里. 首先

基于docker registry镜像安装私服docker hub

采用docker registry镜像安装docker私服,通过https://hub.docker.com/_/registry链接搜索registry镜像 1.输入命令:docker pull registry,安装版本最新的registry镜像: 2.需要在docker配置文件中配置insecure-registeries信息,如下图所示.其中daemon.json文件在/etc/docker目录下面,registry镜像安装的机器是192.168.20.34,对应的端口是5000. 重启

Docker私有仓库Registry认证搭建

前言: 首先,Docker Hub是一个很好的用于管理公共镜像的地方,我们可以在上面找到想要的镜像(Docker Hub的下载量已经达到数亿次):而且我们也可以把自己的镜像推送上去.但是,有的时候我们的使用场景需要拥有一个私有的镜像仓库用于管理自己的镜像,这个时候我们就通过Registry来实现此目的.本文详细介绍了本地镜像仓库Docker Registry及Auth Server认证搭建. 集群环境: 系统 主机名 IP地址(Host-Only) 描述 Centos7.2.1511 contr

docker的核心概念和安装

docker的安装和配置 环境介绍: 操作系统:64bit CentOS7 docker版本:1.11.1(最新版本) 版本新功能:https://github.com/docker/docker/blob/master/CHANGELOG.md 安装步骤 安装准备: 要求: 内核版本最低为3.10 查看当前内核版本: uname –r 通过yum方式安装docker: 第一步:更新yum源: sudo yum update 第二步:增加docker的yum源: 输入命令:sudo tee /e

最全 Docker 介绍与教程,一文全掌握

最全 Docker 介绍与教程,一文全掌握2013年发布至今, Docker 一直广受瞩目,被认为可能会改变软件行业. 但是,许多人并不清楚 Docker 到底是什么,要解决什么问题,好处又在哪里?本文就来详细解释,帮助大家理解它,还带有简单易懂的实例,教你如何将它用于日常开发. 最全 Docker 介绍与教程,一文全掌握一.环境配置的难题 最全 Docker 介绍与教程,一文全掌握软件开发最大的麻烦事之一,就是环境配置.用户计算机的环境都不相同,你怎么知道自家的软件,能在那些机器跑起来? 用户

Docker入门一概念和安装

Docker入门一概念和安装 LinuxDocker Docker概念 Docker 是一个基于 LXC 技术构建的容器引擎,基于 GO 语言开发,遵循 Apache2.0 协议开源.Docker 的发展得益于为使用者提供了更好的容器操作接口.包括一系列的容器,镜像,网络等管理工具,可以让用户简单的创建和使用容器. 核心理念: Build once,Run anywhere. 核心关键词: namespace, cgroups, union fs Docker架构 Docker为C/S体系架构,

Docker在Windows下的安装以及Hello World

本文主要介绍Docker在Windows下的安装.关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com .安装环境:Windows7. Docker引擎使用了一个定制的Linux内核,所以要在Windows下运行Docker我们需要用到一个轻量级的虚拟机(vm),我们使用Windows Docker客户端以控制Docker引擎,来创建,运行和管理我们的Docker容器(关于Docker引擎,容器等具体概念请参考官网). 安装步骤 第一步: 首先到https:

Docker应用一:docker介绍

Docker介绍与安装 一.Docker与传统虚拟化区别 直接看下图:                  传统虚拟化实现架构                                   docker容器实现架构 比较两图的差异,左图虚拟机的Guest OS层和Hypervisor层在Docker中被Docker Engine层所替代.虚拟机的Guest OS即为虚拟机安装的操作系统,它是一个完整操作系统内核:虚拟机的Hypervisor层可以简单理解为一个硬件虚拟化平台,它在Host O