Docker Trusted Registry入坑指南

我们中很多人开启Docker之旅的第一件事是从Docker Hub拉取镜像,我们使用的docker pull命令也是一个耗时的过程。

我们使用的镜像中很多被标注为“官方的”,这些镜像汇聚了Docker的最佳实践,并且通过了一系列的安全检查。但是Docker Hub上更多的是非官方的镜像,这些非官方镜像在可靠性和安全性上大都有问题。

企业往往需要针对自己的资产和工作流程进行更多的控制,它们更倾向于使用自己能够控制和监督的工具和仓库。对于Docker镜像,企业首选Docker Trusted Registry(DTR)。这个Registry是专为企业设计的,是Docker付费套餐的一部分,但是可以注册试用。

第一步是升级账户,在试用过程中不需要支付任何费用。

第二步,设置硬件。目前DTR支持的操作系统有:

  • CentOS 7.1/7.2
  • RHEL 7.0/7.1
  • Ubuntu 14.04
  • SUSE Linux Enterprise 12

在本文中,我会用Ubuntu 14.04作为示例。

1.添加秘钥、apt源和相关的依赖包,这是安装DTR的前提。

2.安装registry:

3.访问registry。你可能会得到一个“不安全的网站”警告。这是正常的,继续访问即可。

4.下载license文件并将其添加到设置中。

DTR会用红色对话框来提醒你任何需要注意的其他设置。第一步是“Settings->Auth”选项卡里创建账户,或使用LDAP服务器在进行身份验证。当然还有更多的配置选项。更多配置参考https://docs.docker.com/docker-trusted-registry/configure/configuration/

提交镜像

DTR安装完成后,我们就可以在上面放自己的业务镜像了。我将创建一个简单的例子来说明这个过程:为开发业务定制的Ubuntu镜像。

1.在registry机器上拉取ubuntu镜像。

2.创建工作目录,并且在它里面创建一个Dockerfile:

3.接下来创建docs文件夹和README.md文件。不要往里面添加任何东西;它们纯粹是为举例说明的。

4.用你最爱的编辑器,添加下面的代码到Dockerfile:

在这个虚构的例子中,你为一家使用PHP技术的公司创建了一个Ubuntu镜像;换句话说,你写入到该镜像的工具都是开发者在工作中直接需要的。

DTR官方文档对上传镜像采用哪些步骤说明有些模糊。你还可能收到各种身份验证错误的提示。以下这些步骤对我有用,由于你的设置可能不一样,一些步骤可能会有所不同。

1.进入管理界面,创建一个用户(settings->Authentication)或组织(Dashboard -> Organizations)。比如组织”quick-start”,然后创建一个repo(Ubuntu-img)。

2.返回shell中的构建目录,运行docker build来生成定制的镜像(行末的英文符号’.’表示当前目录,不能去掉)

quick-start是用户或组织名称,镜像将会属于该名下。ubuntu-img是镜像名。

Shell中运行docker images会列举所有的docker镜像,其中包括自己制作的那个。 通过docker push命令可以将镜像从本地上传到registry中。

现在你的镜像已经可以在DTR GUI显示出来了,镜像的详细信息和文档也可以添加进去。


从这儿开始,后面都是你熟悉的Docker领域了。然而,你使用的是自己的registry而不是Docker hub。因此要从自己的DTR上拉取镜像:

创建一个容器实例:

在DTR的控制台,你可以看到registry的资源使用情况和一些问题的总览:

结论

如果想要对Docker镜像进行更多控制和安全管理,DTR是一个简单的工具。安装和配置有些混乱(不同的文档列表使用不同的步骤)。但是一旦你准备安装好,生成、推送、拉取镜像都是比较简单的过程。

如果你想跳过这些混乱的安装步骤,可以使用一些云服务提供商提供的DTR托管服务,比如AWS或AZURE。

原文链接:https://blog.codeship.com/docker-trusted-registry/

暂无评论

发表评论