Harbor以容器的形式进行部署, 因此可以被部署到任何支持Docker的Linux发行版, 要使用Harbor,需要安装docker和docker-compose编排工具,关闭selinux并且具备如下环境:
Python2.7+
Docker Engine 1.10+
Docker Compose 1.6.0+
安装docker及docker-compose
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum -y install docker-ce
yum -y install docker-compose
docker-compose -version
下载harbor
wget -P /workspace/harbor/ https://github.com/vmware/harbor/releases/download/v1.2.0/harbor-online-installer-v1.2.0.tgz
cd /workspace/harbor/
tar zxf harbor-online-installer-v1.2.0.tgz
cd /harbor/
配置文件为:/workspace/harbor/harbor/harbor.cfg
hostname = 你的域名或IP #harbor域名或IP ui_url_protocol = http #默认使用的protocol db_password = #harbor数据库ROOT用户链接的密码 max_job_workers = 3 self_registration = off #不允许注册用户 customize_crt = on project_creation_restriction = adminonly #设置只有管理员可以创建项目 harbor_admin_password = #admin用户登录密码
/workspace/harbor/harbor/install.sh
启动harbor
docker-compose start
在使用命令行登录仓库时,会报错,解决办法是:
vim /etc/docker/daemon.json
{
"insecure-registries"
: [
"IP"
]
}
systemctl daemon-reload
systemctl restart docker
之后即可正常登录
docker login 47.104.63.18 Username: admin Password: WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
在上传镜像前需要打标签,需要尊后harbor上的格式
docker tag SOURCE_IMAGE[:TAG] 47.104.63.18/library/IMAGE[:TAG]
docker push 47.104.63.18/library/ubuntu:latest The push refers to repository [47.104.63.18/library/ubuntu] 8891751e0a17: Mounted from library/nginx 2a19bd70fcd4: Mounted from library/nginx 9e53fd489559: Mounted from library/nginx 7789f1a3d4e9: Mounted from library/nginx