溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

企業(yè)級(jí)docker私有倉(cāng)庫(kù)harbor在Ubuntu14.04上的部署與使用

發(fā)布時(shí)間:2020-07-06 17:23:39 來(lái)源:網(wǎng)絡(luò) 閱讀:1536 作者:黑色時(shí)間 欄目:數(shù)據(jù)庫(kù)

一、harbor簡(jiǎn)介:

  簡(jiǎn)單的說(shuō),Harbor 是一個(gè)企業(yè)級(jí)的 Docker Registry,可以實(shí)現(xiàn) p_w_picpaths 的私有存儲(chǔ)和日志統(tǒng)計(jì)權(quán)限控制等功能,并支持創(chuàng)建多項(xiàng)目(Harbor 提出的概念),基于官方 Registry V2 實(shí)現(xiàn)的。


二、部署方法:

  操作系統(tǒng):Ubuntu14.04

  1、安裝docker: 

#安裝插件
sudo apt-get install apt-transport-https ca-certificates

#添加GPG key
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
sudo vim /etc/apt/sources.list.d/docker.list
#添加以下內(nèi)容,保存退出
deb https://apt.dockerproject.org/repo ubuntu-trusty main

#跟新、清除老的repo
sudo apt-get update
sudo apt-get purge lxc-docker

#安裝docker-engine
sudo apt-get install docker-engine


  2.安裝docker-com:

sudo curl -L https://github.com/docker/compose/releases/download/1.8.0/docker-compose-`uname -s`-`uname -m` > /home/cimer/docker-compose
sudo mv docker-compose /usr/local/bin/
sudo chmod +x /usr/local/bin/docker-compose


 3.安裝Harbor:

   3.1、克隆源碼:

git clone https://github.com/vmware/harbor

   3.2、修改配置:

cd harbor/Deploy/
vim harbor.cfg

   如下:

## Configuration file of Harbor

#The IP address or hostname to access admin UI and registry service.
#DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
# 指定 hostname,一般為IP,或者域名,用于登錄 Web UI 界面
hostname = 172.16.4.253

#The protocol for accessing the UI and token/notification service, by default it is http.
#It can be set to https if ssl is enabled on nginx.
# URL 訪問(wèn)方式,SSL 需要配置 nginx
ui_url_protocol = http

#Email account settings for sending out password resetting emails.
# 郵件相關(guān)信息配置,如忘記密碼發(fā)送郵件
email_server = smtp.xxxxxx.com
email_server_port = 465
email_username = reg@mritd.me
email_password = xxxxxx
email_from = docker <reg@mritd.me>
email_ssl = true

##The password of Harbor admin, change this before any production use.
# 默認(rèn)的 Harbor 的管理員密碼,管理員用戶名默認(rèn) admin
harbor_admin_password = Harbor12345

##By default the auth mode is db_auth, i.e. the credentials are stored in a local database.
#Set it to ldap_auth if you want to verify a user's credentials against an LDAP server.
# 指定 Harbor 的權(quán)限驗(yàn)證方式,Harbor 支持本地的 mysql 數(shù)據(jù)存儲(chǔ)密碼,同時(shí)也支持 LDAP
auth_mode = db_auth

#The url for an ldap endpoint.
# 如果采用了 LDAP,此處填寫(xiě) LDAP 地址
ldap_url = ldaps://ldap.mydomain.com

#The basedn template to look up a user in LDAP and verify the user's password.
# LADP 驗(yàn)證密碼的方式
ldap_basedn = uid=%s,ou=people,dc=mydomain,dc=com

#The password for the root user of mysql db, change this before any production use.
# mysql 數(shù)據(jù)庫(kù) root 賬戶密碼
db_password = root123

#Turn on or off the self-registration feature
# 是否允許開(kāi)放注冊(cè)
self_registration = on

#Turn on or off the customize your certicate
# 允許自簽名證書(shū)
customize_crt = on

#fill in your certicate message
# 自簽名證書(shū)信息
crt_country = CN
crt_state = State
crt_location = CN
crt_organization = mritd
crt_organizationalunit = mritd
crt_commonname = mritd.me
crt_email = reg.mritd.me

#####

   3.3、生成相關(guān)配置文件:

cd harbor/Deploy/
./prepare

企業(yè)級(jí)docker私有倉(cāng)庫(kù)harbor在Ubuntu14.04上的部署與使用


   3.4、編譯p_w_picpath并啟動(dòng):

cd harbor/Deploy/
docker-compose up -d

企業(yè)級(jí)docker私有倉(cāng)庫(kù)harbor在Ubuntu14.04上的部署與使用

  3.5、檢查啟動(dòng)后的相關(guān)容器:

  Proxy : 由Nginx 服務(wù)器構(gòu)成的反向代理

  Registry : 由Docker官方的開(kāi)源registry 鏡像構(gòu)成的容器實(shí)例

  UI : 即架構(gòu)中的core services, 構(gòu)成此容器的代碼是Harbor項(xiàng)目的主體

  Mysql : 由官方MySql鏡像構(gòu)成的數(shù)據(jù)庫(kù)容器

  Log : 運(yùn)行著rsyslogd的容器,通過(guò)log-driver的形式收集其他容器的日志

企業(yè)級(jí)docker私有倉(cāng)庫(kù)harbor在Ubuntu14.04上的部署與使用


  4、訪問(wèn)Web Ui:

   訪問(wèn):http://172.16.4.253,賬戶密碼為harbor.cfg中配置的

企業(yè)級(jí)docker私有倉(cāng)庫(kù)harbor在Ubuntu14.04上的部署與使用   如果harbor.cfg中的self_registration設(shè)置為off,那么普通用戶無(wú)法實(shí)現(xiàn)注冊(cè),只能由管理員創(chuàng)建用戶;右上角的注冊(cè)按鈕也會(huì)消失。

   4.2、登錄:

   默認(rèn)賬戶密碼:admin:Harbor12345

企業(yè)級(jí)docker私有倉(cāng)庫(kù)harbor在Ubuntu14.04上的部署與使用


   4.3、創(chuàng)建私有項(xiàng)目:

   harbor的項(xiàng)目類似于Docker Hub的用戶名,其下可以存很多鏡像

企業(yè)級(jí)docker私有倉(cāng)庫(kù)harbor在Ubuntu14.04上的部署與使用


 4.4、push鏡像:

企業(yè)級(jí)docker私有倉(cāng)庫(kù)harbor在Ubuntu14.04上的部署與使用

   在web ui中查看

企業(yè)級(jí)docker私有倉(cāng)庫(kù)harbor在Ubuntu14.04上的部署與使用




著:要是不適用驗(yàn)證功能的話,修改registry的配置文件,把a(bǔ)uth部分注釋掉,重新啟動(dòng)即可

sudo vim harbor/Deploy/config/registry/config.yml
sudo docker-compose stop
sudo docker-compose up -d

企業(yè)級(jí)docker私有倉(cāng)庫(kù)harbor在Ubuntu14.04上的部署與使用






三、配置docker鏡像的復(fù)制:

  復(fù)制功能是p_w_picpath在兩個(gè)或多個(gè)harbor節(jié)點(diǎn)之間的復(fù)制。原理圖如下:


企業(yè)級(jí)docker私有倉(cāng)庫(kù)harbor在Ubuntu14.04上的部署與使用

企業(yè)級(jí)docker私有倉(cāng)庫(kù)harbor在Ubuntu14.04上的部署與使用

  1.先配置2個(gè)harbor實(shí)例,分別為172.16.4.253和172.16.4.252

  2.在172.16.4.253上上傳一個(gè)鏡像,該實(shí)例作為主節(jié)點(diǎn)

企業(yè)級(jí)docker私有倉(cāng)庫(kù)harbor在Ubuntu14.04上的部署與使用  3.進(jìn)入web ui的項(xiàng)目選項(xiàng),選擇復(fù)制:

企業(yè)級(jí)docker私有倉(cāng)庫(kù)harbor在Ubuntu14.04上的部署與使用

  4.點(diǎn)擊新增策略,并設(shè)置策略:

企業(yè)級(jí)docker私有倉(cāng)庫(kù)harbor在Ubuntu14.04上的部署與使用

  創(chuàng)建完畢后,我們可以看到復(fù)制策略中多一個(gè)策略,復(fù)制任務(wù)里面也多一個(gè)任務(wù),稍等一會(huì)就可以復(fù)制完成。登錄172.16.4.252的web ui,會(huì)發(fā)現(xiàn)鏡像和日志都復(fù)制過(guò)來(lái)了。





四、升級(jí)harbor:

 1.刪除原有容器

cd harbor/Deploy/
sudo docker-compose down

  2.備份

mv harbor/ /tm/harbor

  3.重新下載源碼

git clone https://github.com/vmware/harbor

  4.如果harbor 是遷移到其他服務(wù)器,請(qǐng)先執(zhí)行數(shù)據(jù)備份

cd harbor/migration/

   修改 migration.cfg 文件里面的 數(shù)據(jù)庫(kù) 帳號(hào)密碼后

sudo docker build -t migrate-tool .

  5.運(yùn)行一個(gè)臨時(shí)數(shù)據(jù)庫(kù)容器,(注意:/data/database 為你設(shè)置的掛載數(shù)據(jù)庫(kù)的目錄 /path/to/backup 數(shù)據(jù)備份的目錄)本分?jǐn)?shù)據(jù)

sudo docker run -ti --rm -v /data/database:/var/lib/mysql -v /path/to/backup:/harbor-migration/backup migrate-tool backup

  6.數(shù)據(jù)庫(kù)還原

sudo docker run -ti --rm -v /data/database:/var/lib/mysql migrate-tool up head

  7.對(duì)比一下配置文件

       如果修改了端口 必須更新 cd harbor/Deploy/config/nginx/nginx.conf 里面的端口

diff harbor.cfg /tmp/harbor/Deploy/harbor.cfg
diff docker-compose.yaml /tmp/harbor/Deploy/docker-compose.yaml

     8.執(zhí)行 ./prepare 生成新的配置文件

cd /harbor/Deploy/
./prepare

  9.build 新的鏡像,啟動(dòng)容器

cd /harbor/Deploy/
docker-compose up --build -d

  完成后,登錄web ui,檢查是否升級(jí)成功。


參考:

  https://my.oschina.net/u/1540325/blog/702260

  http://www.cnblogs.com/jicki/p/5737369.html

  http://blog.csdn.net/project_harbor/article/details/51261934

  http://www.tuicool.com/articles/m2uyQri

  http://www.2cto.com/net/201607/531849.html


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI