使用Harbor搭建Docker私有库

Posted by Kaka Blog on January 31, 2019

Harbor介绍

Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。

安装Harbor

确认已安装好docker、docker-compose

1、下载Harbor离线安装包

下载地址:https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.1.tgz

2、解压到/opt/目录

tar zxvf harbor-offline-installer-v1.7.1.tgz

3、修改配置文件harbor.cfg

hostname = ##设置访问地址,可以使用ip、主机名,不可以设置为127.0.0.1或localhost
harbor_admin_password = 12345    ##启动Harbor后,管理员UI登录的密码,默认是Harbor12345

4、创建/data/cert目录

mkdir /data/cert

5、启动Harbor

./install.sh

默认启动时80端口,可以修改默认端口:

1、修改docker-compose.yml文件

proxy:
  ports:
    - 5005:80

2、修改common/templates/registry/config.yml文件

auth:
  token:
    issuer: registry-token-issuer
    realm: $basic_url:5005/service/token
    rootcertbundle: /etc/registry/root.crt
    service: token-service

3、停止harbor,重新启动并生成配置文件

docker-compose stop
./install.sh

访问Harbor

启动完成后,访问刚刚设置的IP地址:http://****:5005,输入用户名和密码登录系统。

img

本地使用私有库

1、登录docker私有库

docker login IP:5005
Username: admin
Password:

2、给镜像打tag,格式为userip/项目名/image名字:版本号

docker tag consul 192.168.126.131/project/consul:1.0

3、推送到仓库

docker push 192.168.126.131/project/consul:1.0

FAQ

1、登录报错,getsockopt: connection refused

解决:

  • Linux:在/etc/docker/profile上加上insecure-registry=“xxx”
  • docker-toolbox:在/var/lib/boot2docker/profile加上--insecure-registry registry的IP:5005

参考

Harbor使用 – 修改80端口

搭建Harbor私有镜像仓库–v1.5.1

docker搭建私有仓库,(docker-toolbox)