harbor搭建及使用
0.778 2018.11.23 17:52:42
字數 545
閱讀 6017
1 系統及軟件版本
1.1 系統版本
# uname -a
Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
1.2 軟件版本
一、 docker版本:18.06.1-cecss
#docker -v
Docker version 18.06.1-ce, build e68fc7a
二、 docker-compose版本:1.23.1html
# docker-compose version
docker-compose version 1.23.1, build b02f130
docker-py version : 3.5.1
CPython version : 2.7.5
OpenSSL version : OpenSSL 1.0.2k-fips 26 Jan 2017
三、harbor版本:1.5.0python
2 安裝依賴
2.1 Docker安裝
請參考centos7安裝dockerCE mysql
2.2 docker-compose安裝
一、 配置阿里的epel源nginx
# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
二、 安裝Python-pipgit
# yum install python-pip -y
三、 升級Python-ppipgithub
# pip install --upgrade pip
四、 安裝docker-composeweb
# pip install docker-compose
五、查看docker-compose版本sql
# docker-compose -v
docker-compose version 1.23.1, build b02f130
3 安裝harbor
3.1 下載安裝包
一、 能夠在網站上下載離線安裝包。docker
地址:https://github.com/goharbor/harbor/releases
二、Linux服務器上能夠直接下載1.5.0的離線安裝包
# wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.5.0.tgz
二、 下載會很慢,能夠從個人百度雲下載
連接:https: / / pan. baidu. com/ s/ 1 I75uievCd4kVi0eIpXHkZQ
提取碼:rz1u
三、 國內harbor離線版鏡像
地址:http://harbor.orientsoft.cn/
3.2 上傳解壓
# tar -zxvf harbor-offline-installer-v1.5.0.tgz
# cd harbor
3.3 修改配置文件
Harbor的配置文件爲harbor.cfg。這次配置我使用http訪問。而不是https訪問。因此能夠不須要證書。
# cat harbor.cfg |grep -v ^$|grep -v ^#
_version = 1.5 .0
hostname = [ www. harbor2. com] ( http: / / www. harbor2. com) #須要寫IP地址或者域名
ui_url_protocol = http
max_job_workers = 50
customize_crt = on
ssl_cert = / data/ cert/ server. crt #沒有目錄須要建立
ssl_cert_key = / data/ cert/ server. key #沒有目錄須要建立
secretkey_path = / data
admiral_url = NA
log_rotate_count = 50
log_rotate_size = 200 M
http_proxy =
https_proxy =
no_proxy = 127.0 .0 .1 , localhost, ui
email_identity =
email_server = smtp. mydomain. com
email_server_port = 25
email_username = sample_admin@mydomain. com
email_password = abc
email_from = admin < sample_admin@mydomain. com>
email_ssl = false
email_insecure = false
harbor_admin_password = 12345 #harbor登陸密碼
auth_mode = db_auth
ldap_url = ldaps: / / ldap. mydomain. com
ldap_basedn = ou= people, dc= mydomain, dc= com
ldap_uid = uid
ldap_scope = 2
ldap_timeout = 5
ldap_verify_cert = true
ldap_group_basedn = ou= group , dc= mydomain, dc= com
ldap_group_filter = objectclass= group
ldap_group_gid = cn
ldap_group_scope = 2
self_registration = on
token_expiration = 30
project_creation_restriction = everyone
db_host = mysql
db_password = root123
db_port = 3306
db_user = root
clair_db_host = postgres
clair_db_password = password
clair_db_port = 5432
clair_db_username = postgres
clair_db = postgres
uaa_endpoint = uaa. mydomain. org
uaa_clientid = id
uaa_clientsecret = secret
uaa_verify_cert = true
uaa_ca_cert = / path/ to/ ca. pem
registry_storage_provider_name = filesystem
registry_storage_provider_config =
3.4 安裝並啓動
安裝以前須要啓動docker
執行安裝腳本
# ./install.sh
4 訪問harbor web界面
啓動完成後,能夠直接訪問安裝harbor的IP地址。啓動的是80端口。帳號密碼爲:admin/12345(配置文件裏修改過)
進入界面
5 使用harbor上傳下載鏡像
Docker執行本地登陸操做
5.1 鏈接harbor
# docker login [www.harbor2.com](http://www.harbor2.com)
輸入用戶名admin/Harbor12345
Login Succeeded #顯示此字段說明登陸成功能夠上傳下載鏡像
5.2 鏈接報錯解決
5.2.1 報錯內容
Error response from daemon: Get https: / / www. harbor2. com/ v2/ : dial tcp 10.10 .8 .113 : 443 : connect: connection refused
5.2.2 報錯分析
Docker自從1.3.X以後docker registry交互默認使用的是HTTPS,可是咱們搭建私有鏡像默認使用的是HTTP服務,因此與私有鏡像交時出現以上錯誤。
5.2.3 解決問題
1、 方法一
一、修改啓動文件
# vi /usr/lib/systemd/system/docker.service
……
ExecStart=/usr/bin/dockerd --insecure-registry www.harbor2.com
#修改此處而且後邊添加IP地址或者域名
……
二、從新啓動docker
# systemctl daemon-reload
# systemctl restart docker
2、方法二
一、修改或添加配置
# cd /etc/docker/
# vi daemon.json
{
"insecure-registries" : ["www.harbor2.com"]
}
二、從新啓動docker
# systemctl daemon-reload
# systemctl restart docker
5.3 上傳鏡像
5.3.1 Harbor上建立新項目供上傳使用
5.3.2 Docker服務器給鏡像打標籤
[root@docker1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat 7.0.90 4cbf48630b46 6 weeks ago 195MB
# docker tag tomcat:7.0.90 www.harbor2.com/test/tomcat:7.0.90
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat 7.0.90 4cbf48630b46 6 weeks ago 195MB
www.harbor2.com/test/tomcat 7.0.90 4cbf48630b46 6 weeks ago 195MB
5.3.3 上傳
# docker push www.harbor2.com/test/tomcat:7.0.90
The push refers to repository [www.harbor2.com/test/tomcat]
9c2f1836d493: Mounted from common/centos
7.0.90: digest: sha256:20f32279b5e4801424c21f56c2f645fc2109d81bdc3cc6855e7e982b5d3d334b size: 529
5.4 下載鏡像
5.4.1 刪除本地鏡像
# docker rmi tomcat:7.0.90
# docker rmi www.harbor2.com/test/tomcat:7.0.90
5.4.2 下載harbor上的鏡像
# docker pull www.harbor2.com/test/tomcat:7.0.90
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
www.harbor2.com/test/tomcat 7.0.90 4cbf48630b46 6 weeks ago 195MB
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
harbor安裝要求
harbor快速部署
下載harbor:https://github.com/goharbor/harbor/releases
這邊以harbor-1.8.2爲例
[root@gitlab home]# tar -xf harbor-offline-installer-v1.8.2.tgz
修改配置文件
必改項,其他的本身看着改
下載docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/sbin/docker-compose && chmod +x /usr/sbin/docker-compose
而後依次執行
啓動完成後 登陸harbor頁面,默認用戶名密碼 admin/Harbor12345
登陸頁面後建立一個project測試下上傳功能
修改docker啓動的service
否則鏈接會報錯
使用docker鏈接,上傳一個鏡像測試,輸入本身的帳戶名密碼。
登陸成功後,上傳一個鏡像
harbor項目中有命令複製
先打tag,在上傳,以我本機nginx爲例
出現這個報錯是由於沒有給項目添加用戶,本項目是用admin用戶建立的,而我docker鏈接的是test用戶,添加用戶上傳便可
在次上傳
上傳成功,harbor上查看
已成功上傳。
文檔參考:
https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md
https://docs.docker.com/compose/install/