前面我们已经写过一篇文章,从官网翻译过来的,源生的搭建Docker Registry的方法。但是,当配置通过https访问时,需要通过letsencrypt签发一个证书时,出了问题,就是签发的证书的格式不对。一直都没有解决。
而最近又需要一个Docker的私有仓库,本来可以使用Docker hub提供的,但是考虑到国内的网络问题,就直接放弃了这种想法。在寻找解决方案的时候,找到了另一个更加方便的方案,就是我们今天要介绍的HARBOR.HARBOR其实也是基于registry镜像的,通过docker-compose来组合了一些容器,使我们更加方便的搭建这样的一个私有的仓库。
先直接给你一张我搭建好之后访问的图片,就问你有没有兴趣!提醒
我们这里只给你一个最简单的流程,让你能看到上面的这种界面。至于更多配置选项,请你自行参考官方文档。文档介绍的挺详细,也很容易理解。
过程
前提条件
python的版本至少为2.7
Docker engine的版本至少为1.10
Docker Compose的版本至少为1.6.0
步骤
1.下载installer,网址为https://github.com/vmware/harbor/releases。在其中下载Online installer或者Offline installer。
Online installer中没有包含相关的镜像,所以在一会的安装过程中,会下载镜像。而Offline installer则已经包含了镜像。
2.下载完成后,解压。
3.配置。
我们这里只配置一个hostname,其他的为默认值。本来还应该修改admin账户的密码,而官方文档不建议在这里修改。所以一会我们会在打开上面的时,进行修改。
配置文件在解压后的文件夹下,名为harbor.cfg。这里我修改hostname为我的主机的FQDN.如果你没有的话,也可以使用主机的ip地址。不要使用localhost或者127.0.0.1,因为这个registry要对外部客户端可见。
4.安装
sudo ./install.sh
使用上面的这条命令,自动就会下载镜像并安装。其中,因为容器映射了某些端口,比如443,所以你需要现在主机中,把这些端口停掉。防止因为端口被占用而导致安装失败。
5.验证
如果没有提示失败错误,那你就安装成功了。我们可以在浏览器中输入 http://hostname 来查看是否成功。其中hostname就是上面我们在配置文件中修改的那个。我这里访问的地址为 http://docker.alstonwilliams.site 。你可以登陆下试试。记住默认的用户名/密码为admin/Harbor12345.
6.使用
我们部署这个就是为了使用的。那么要如何使用呢?首先,我们需要在这个registry中新建一个project。创建的方法很简单,你登陆进去一试便知。这里不解释。
然后,在我们的客户端,也就是安装了docker engine的机器上,我们需要先重启一下Docker engine。因为上面我们安装过程中,没有使用https。而Docker engine在连接远程registry时,默认使用的是https。我们可以在客户端的/etc/default/docker这个文件中,添加DOCKER_OPTS=”$DOCKER_OPTS –insecure-registry=docker.alstonwilliams.site”这一行。其中–insecure-registry=后面跟的,就是刚才的hostname.insecure-registry前面是两个’-‘:
修改完之后,保存并重启docker engine:
sudo service docker restart
然后,我们登陆进上面的那个docker registry:
docker login docker.alstonwilliams.site
从docker hub上面pull一个hello-world镜像,然后修改其仓库,然后再提交到我们的registry:
docker pull hello-world
docker tag hello-world docker.alstonwilliams.site/hello-world:latest
docker push docker.alstonwilliams.site/hello-world:latest
注意,把上面的docker.alstonwilliams.site全部换成你的主机名.
这样,你就能看见你的私有的registry中,多了一个仓库.
后记
前面也说了,这里只介绍最简单的用法.其他的,比如配置https访问,验证方式等,请自行查看官方文档,我们这里不介绍了.
查看原文:http://www.zoues.com/2016/10/20/%e6%90%ad%e5%bb%badocker-registry%e4%b9%8bharbor/