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