Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能,具有web管理功能,有了它之后能够很方便的管理容器镜像,搭配Jenkins使用很是方便。
1.环境准备
提前准备好docker和docker-compose环境,自行使用脚本安装。下面是我使用的版本:
[root@mx harbor]# docker-compose --versionDocker Compose version v2.0.1[root@mx harbor]# docker --versionDocker version 20.10.9, build c2ea9bc[root@mx harbor]#
2.安装Harbor
我这里使用CentOS 7 操作系统,ip地址可以更换为自己服务器的内网IP
# 配置域名信息echo "192.168.1.1 docker.harbor.com" >> /etc/hosts创建目录 添加密钥(密钥的harbor地址要和hosts地址相同),不使用https可略过下面的步骤mkdir /etc/certs && cd /etc/certsopenssl genrsa -out /etc/certs/ca.key 2048openssl req -x509 -new -nodes -key /etc/certs/ca.key -subj "/CN=docker.harbor.com" -days 5000 -out /etc/certs/ca.crt
mkdir -p /opt/docker/harborwget https://github.com/goharbor/harbor/releases/download/v2.4.0/harbor-offline-installer-v2.4.0.tgztar -xf harbor-offline-installer-v2.4.0.tgz && mv harbor /opt/docker/harbor && cd /opt/docker/harbor
修改配置文件:
cp harbor.yml.tmpl harbor.ymlvim harbor.yml
# 输入服务器的地址hostname: docker.harbor.com# 下面是端口,根据自己的配置http: # port for http, default is 80. If https enabled, this port will redirect to https port port: 8081# 设置好harbor登录的密码,默认账户为adminharbor_admin_password: 123456# 如果需要https(建议启用)请配置好证书文件https: # https port for harbor, default is 443 port: 443 # The path of cert and key files for nginx certificate: /etc/certs/ca.crt private_key: /etc/certs/ca.key
# 准备环境./prepare# 安装./install.sh
3.登录测试
docker login docker.harbor.com
如果有如下报错,
如果登录提示:Error response from daemon: Get https://docker.harbor.com/v2/: x509: certificate signed by unknown authority则有可能是有残留登录失败数据导致,需要编辑daemon.json ,指定你的登录地址
则执行后,重启docker后就能正常登录了。
vi /etc/docker/daemon.json { "insecure-registries": ["docker.harbor.com"] }
[root@mx harbor]# docker login docker.harbor.comAuthenticating with existing credentials...WARNING! Your password will be stored unencrypted in /root/.docker/config.json.Configure a credential helper to remove this warning. Seehttps://docs.docker.com/engine/reference/commandline/login/#credentials-storeLogin Succeeded[root@mx harbor]#
当然最主要的功能还是通过网站访问,使用http://ip:8080 来访问,账号密码为前面设置的,我这里设置为admin/123456,输入后直接登录。
4.上传一个镜像
在仓库后台新建一个项目test
任意修改一个镜像的tag,上传测试一下。
docker tag mysql:5.7 docker.harbor.com/test/apachedocker push docker.harbor.com/test/apache
如果没有报错,那就正常了,接下来就可以打通网络,在任何地方能连接拉取镜像文件了。
热门跟贴