1、Harbor簡介
harbor是vmware開源的企業級registry,可讓你迅速的搭建本身的私有registry,harbor擴展的docker的registry,使harbor支持:
1,RBAC 基於角色的權限控制
2,基於策略的鏡像複製
3,LDAP/AD支持
4,鏡像刪除和垃圾清理
5,Notary 鏡像簽名
6,用戶界面
7,審計
8,RESTful api前端
二,Harbor 模塊
harbor主要有6大模塊,默認的每一個harbor的組件都被封裝成一個docker container,因此能夠經過compose來部署harbor,總共分爲8個容器運行,經過docker-compose ps來查看
mysql
harbor-adminserver:harbor系統管理接口,能夠修改系統配置以及獲取系統信息
harbor-db:存儲項目的元數據、用戶、規則、複製策略等信息
harbor-jobservice:harbor裏面主要是爲了鏡像倉庫以前同步使用的
harbor-log:收集其餘harbor的日誌信息。rsyslogd
harbor-ui:一個用戶界面模塊,用來管理registry。主要是前端的頁面和後端CURD的接口
nginx:harbor的一個反向代理組件,代理registry、ui、token等服務。這個代理會轉發harbor web和docker client的各類請求到後端服務上。是個nginx。nginx負責流量轉發和安全驗證,對外提供的流量都是從nginx中轉,它將流量分發到後端的ui和正在docker鏡像存儲的docker registry
registry:存儲docker images的服務,而且提供pull/push服務。harbor須要對image的訪問進行訪問控制,當client每次進行pull、push的時候,registry都須要client去token服務獲取一個可用的token。
redis:存儲緩存信息nginx
3、安裝
1,環境準備。
操做系統:Centos 7.2
IP:192.168.1.22git
docker 17.03.2-ce github
docker-compose 安裝web
curl -L https://github.com/docker/compose/releases/download/1.23.0-rc3/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
harbor-offline-installer-v1.5.1.tgz 離線包下載redis
wget https://storage.googleapis.com/harbor-releases/release-1.5.0/harbor-offline-installer-v1.5.1.tgz
2,解壓,修改配置文件cp harbor-offline-installer-v1.5.1.tgz /data/ ;tar zxvf harbor-offline-installer-v1.5.1.tgz
vim /data/harbor/harbor.cfgsql
hostname = 192.168.1.22 #ssl_cert = /data/cert/server.crt #ssl_cert_key = /data/cert/server.key ui_url_protocol = http // 協議 max_job_workers = 50 // 最大併發請求 customize_crt = on // 是否使用自定義證書 harbor_admin_password = Harbor12345 // 管理員密碼 db_password = root123 // mysql密碼,若是不修改會默認啓動一個mysql容器而且密碼爲root123
3,安裝
/bin/sh install.sh docker
查看harbor image
docker images
vim
docker-compose查看
docker-compose ps
四,登陸harbor && 鏡像上傳下載
默認密碼:admin/Harbor12345
密碼可在harbor.cfg配置文件更改
管理界面:
上傳鏡像
修改docker啓動配置文件docker.service
ExecStart 後邊添加--insecure-registry=192.168.1.22 ExecStart=/usr/bin/dockerd --storage-driver=overlay2 --insecure-registry=192.168.1.22
不配置會報錯:
重啓docker
systemctl daemon-reload systemctl restart docker.service
CLI登陸harbor
docker login 192.168.1.22
鏡像打標籤
docker push 192.168.1.22/szs/mysql_db:latest
後臺查看
下載
環境:192.168.1.20
系統:Centos 7.2
安裝docker
修改配置文件:docker.service ExecStart=/usr/bin/dockerd --storage-driver=overlay2 --insecure-registry=192.168.1.22
重啓
systemctl daemon-reload systemctl restart docker.service
鏈接鏡像倉庫docker login 192.168.1.22
由於有認證,不然報錯
docker pull 192.168.1.22/szs/mysql_db