Monthly Archives: March 2014

【翻译】Docker镜像文件(images)的存储结构

原文作者: Troy Howard(http://blog.thoward37.me/) 原文地址:http://blog.thoward37.me/articles/where-are-docker-images-stored/ 翻译:刘斌(http://liubin.org/) 本文地址:http://liubin.org/2014/03/10/about-docker-images-storage/ ‎ 关于本文的任何指正,请在新浪微博联系我或者在Twitter上。 如果你是刚开始接触 Docker的话,按照官方文档里的例子,很容易入门并且进行一些简单的工作。但是,如果再深入一些,比如要创建自己的Dockerfile的话,你就可能会有点感到困惑了。在众多初学者比较容易迷惑的问题中,这是一个非常普遍的问题: 我的Docker镜像(images)保存在哪里呢? – 每个人  这个问题也着实让我挠头。更糟糕的是,作为一个新手,你的最终目标是将自己笨手笨脚创建的Docker镜像发布到官方的Docker镜像索引上。 快来看看我创建的Docker镜像吧,它非常棒 thoward/i_have_no_idea_what_im_doing. 但这不是我想要做的。 还有更糟糕的事情,在这之前很长的一段时间里,你都没法删除你发布的镜像,你那些让人羞愧尴尬的学习过程将永久性的贴在那里。 幸运的是,现在删除一个自己发布的镜像文件已经变得非常简单了。 所以,在这里我做一下小小的澄清。如果你满足下面的条件的话,那么请放心,你的镜像文件是不可能被发布为公开镜像的: 你还没有在官方的public index注册账号。 你没有通过 docker login 命令登录。 你没有运行 docker push 命令将自己的镜像发布到public index上。 术语(用语、关键概念) Docker所使用的术语,也是其致使用户产生困惑的原因。比如Docker可能会使用overlap,或者含义模糊,或者被错误使用的用语,也可能使用有悖于人们常识认识的用语。 所以,在这里我们先对一些术语做一下解释。 镜像(Image) vs Dockerfile  这组概念很少会让人产生疑惑,但是这两者的区别非常重要。Docker在镜像(image)中运行你的代码,而不是Dockerfile。Dockerfile是通过docker build命令来编译镜像的配置文件。 如果你去浏览一下public index的话,你将会看到那里罗列了很多镜像文件。但是,也许有些奇怪的是,你将看不到任何编译出它们的dockerfile。镜像文件就是从Dockerfile编译而得到的不透明资产(opaque asset )。 当你用docker push命令发布自己的镜像的时候,你发布的不是任何你的代码,而是由你的代码编译出来的镜像文件。 注册表(Registry) vs 索引(Index) 注册表(镜像注册表,registry)和索引(镜像索引,index)这两个概念,以及它们的区别也很特殊。 一个索引(index)用来管理用户账号,权限,搜索,打标签(tagging),以及其它可以方便的通过Web界面来完成的工作。

Posted in Docker Tagged with: , , , , , ,

无觅相关文章插件,快速提升流量