小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

docker 鏡像倉(cāng)庫(kù) Harbor 部署 以及 跨數(shù)據(jù)復(fù)制

 昵稱54185769 2018-07-20

docker 鏡像倉(cāng)庫(kù) Harbor 部署 跨數(shù)據(jù)復(fù)制

Harbor 是 Vmwar 公司開(kāi)源的 企業(yè)級(jí)的 Docker Registry 管理項(xiàng)目

它主要 提供 Dcoker Registry 管理UI,可基于角色訪問(wèn)控制, AD/LDAP 集成,日志審核等功能,完全的支持中文。

Harbor 的所有組件都在 Dcoker 中部署,所以 Harbor 可使用 Docker Compose 快速部署。


注: 由于 Harbor 是基于 Docker Registry V2 版本,所以 docker 版本必須 > = 1.10.0 docker-compose >= 1.6.0


開(kāi)源項(xiàng)目地址:https://github.com/vmware/harbor


一、 使用docker compose 快速部署:

首先用 git 下載 源碼。

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

下載完以后 進(jìn)入 harbor/Deploy 目錄

初始化配置, 配置文件為harbor.cfg

 

復(fù)制代碼
## Configuration file of Harbor
# hostname 設(shè)置訪問(wèn)地址,支持IP,域名,主機(jī)名,禁止設(shè)置127.0.0.1
hostname = reg.mydomain.com

# 訪問(wèn)協(xié)議,可設(shè)置 http,https
ui_url_protocol = http

# 郵件通知, 配置郵件通知。
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

# harbor WEB UI登陸使用的密碼
harbor_admin_password = Harbor12345

# 認(rèn)證方式,這里支持多種認(rèn)證方式,默認(rèn)是 db_auth ,既mysql數(shù)據(jù)庫(kù)存儲(chǔ)認(rèn)證。
# 這里還支持 ldap 以及 本地文件存儲(chǔ)方式。
auth_mode = db_auth

# ldap 服務(wù)器訪問(wèn)地址。
ldap_url = ldaps://ldap.mydomain.com
ldap_basedn = uid=%s,ou=people,dc=mydomain,dc=com

# mysql root 賬戶的 密碼
db_password = root123
self_registration = on
use_compressed_js = on
max_job_workers = 3 
verify_remote_cert = on
customize_crt = on

# 一些顯示的設(shè)置.
crt_country = CN
crt_state = State
crt_location = CN
crt_organization = organization
crt_organizationalunit = organizational unit
crt_commonname = example.com
crt_email = example@example.com
復(fù)制代碼

 


修改為配置文件以后 運(yùn)行./prepare腳本更新配置, 出現(xiàn)如下信息表示 更新完畢.

 

復(fù)制代碼
Generated configuration file: ./config/ui/env
Generated configuration file: ./config/ui/app.conf
Generated configuration file: ./config/registry/config.yml
Generated configuration file: ./config/db/env
Generated configuration file: ./config/jobservice/env
Clearing the configuration file: ./config/ui/private_key.pem
Clearing the configuration file: ./config/registry/root.crt
Generated configuration file: ./config/ui/private_key.pem
Generated configuration file: ./config/registry/root.crt
The configuration files are ready, please use docker-compose to start the service.
復(fù)制代碼

 

執(zhí)行完畢會(huì)生成一個(gè) docker-compose.yml  文件

 

配置 docker-compose.yml 文件中的 掛載目錄,啟動(dòng)方式等選項(xiàng)。 

 

使用 pip install docker-compose 安裝 docker-compose

執(zhí)行 docker-compose up -d 構(gòu)建docker 容器

docker hub 下載鏡像實(shí)在是慢, Harbor 提供了一個(gè) 配置本地鏡像的配置: cd harbor/contrib/prebuild-install

運(yùn)行 update_compose.sh 配置本地的鏡像倉(cāng)庫(kù)

我們也可以配置 --registry-mirror= 來(lái)加速下載 使用 daocloud 提供的 mirror http://b438f72b.m.

 

 

復(fù)制代碼
[root@localhost Deploy]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
deploy_jobservice   latest              be822b50163d        43 minutes ago      804.6 MB
deploy_mysql        latest              5015ce56c9d5        49 minutes ago      328.8 MB
deploy_ui           latest              8596c12dbeba        About an hour ago   808.1 MB
deploy_log          latest              6a74c6f52a2b        About an hour ago   187.9 MB
mysql               5.6                 5e0f1b09e25e        2 days ago          328.8 MB
ubuntu              14.04               0ccb13bf1954        12 days ago         187.9 MB
golang              1.6.2               8ecba0e9bd48        5 weeks ago         753.5 MB
nginx               1.9                 c8c29d842c09        10 weeks ago        182.7 MB
registry            2.4.0               8b162eee2794        3 months ago        171.1 MB
復(fù)制代碼

 

 

復(fù)制代碼
[root@localhost Deploy]# docker ps -a
CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS              PORTS                                      NAMES
9704f42b05d5        deploy_jobservice        "/go/bin/harbor_jobse"   4 minutes ago       Up 4 minutes                                                   deploy_jobservice_1
0f8ff9b099d2        library/nginx:1.9        "nginx -g 'daemon off"   4 minutes ago       Up 4 minutes        0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   deploy_proxy_1
6b0159939874        deploy_ui                "/go/bin/harbor_ui"      4 minutes ago       Up 4 minutes        80/tcp                                     deploy_ui_1
6f2298da0f67        deploy_mysql             "docker-entrypoint.sh"   4 minutes ago       Up 4 minutes        3306/tcp                                   deploy_mysql_1
2dbca506e1ea        library/registry:2.4.0   "/bin/registry serve "   4 minutes ago       Up 4 minutes        5000/tcp, 0.0.0.0:5001->5001/tcp           deploy_registry_1
fc5b1a201c72        deploy_log               "/bin/sh -c 'cron && "   4 minutes ago       Up 4 minutes        0.0.0.0:1514->514/tcp                      deploy_log_1
復(fù)制代碼

 


完成以后,使用 http://userIP/ 訪問(wèn) Harbor

使用 賬號(hào) admin, 密碼為 配置文件中 harbor_admin_password = Harbor12345 的密碼 登陸


至此, Harbor 已經(jīng)搭建完成,具體在 WEB UI 下面操作也是非常的簡(jiǎn)單,只有幾個(gè)選項(xiàng)。


docker 需要上傳 push 鏡像,需要在 docker 中配置 --insecure-registry userIP 或者在nginx 中配置 https

配置完畢以后,重啟 docker

使用 docker login userIP 登陸 Harbor

[root@swarm-manager ~]#docker login 10.6.0.192
Username (admin): admin
Password: 
Login Succeeded

 

查看 本地 images

[root@swarm-manager ~]#docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mongodb             latest              8af05a33e512        3 weeks ago         958.4 MB
sath89/oracle-12c   latest              7effebcd18ee        11 weeks ago        5.692 GB
centos              latest              778a53015523        4 months ago        196.7 MB

 

tag 修改 image 的名字. 格式為: userip/項(xiàng)目名/image名字:版本號(hào)

 

復(fù)制代碼
[root@swarm-manager ~]#docker tag mongodb 10.6.0.192/jicki/mongodb:1.0


[root@swarm-manager ~]#docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             SIZE
10.6.0.192/jicki/mongodb   1.0                 8af05a33e512        3 weeks ago         958.4 MB
mongodb                    latest              8af05a33e512        3 weeks ago         958.4 MB
sath89/oracle-12c          latest              7effebcd18ee        11 weeks ago        5.692 GB
centos                     latest              778a53015523        4 months ago        196.7 MB
復(fù)制代碼

 


push 鏡像到 Harbor

 

復(fù)制代碼
[root@swarm-manager ~]#docker push 10.6.0.192/jicki/mongodb:1.0
The push refers to a repository [10.6.0.192/jicki/mongodb]
c1e4cd91bcd4: Pushed 
d9a948970255: Pushed 
dd9b001e77ee: Pushed 
625440e212f2: Pushed 
75fa23acbccb: Pushed 
fd269370dcf4: Pushed 
44e3199c59b3: Pushed 
db3474cfcfbc: Pushed 
5f70bf18a086: Pushed 
6a6c96337be1: Pushed 
1.0: digest: sha256:c7d2e619d86089ffef373819a99df1390c4f2df4aeec9c1f7945c55d63edc670 size: 2824
復(fù)制代碼

 

 

登陸 WEB UI , 選擇項(xiàng)目, 項(xiàng)目名稱 jicki , 進(jìn)入 既可查看剛才上傳的 image

 


至此, Harbor 都已經(jīng)部署完成。

 


二、 配置Docker 鏡像復(fù)制。

 

 

 

 

 

配置 2個(gè) Harbor

IP 1 = 10.6.0.192

IP 2 = 10.6.0.196


在 10.6.0.192 上面我們已經(jīng)push 了一個(gè) 鏡像,所以我們將這臺(tái)當(dāng)作 主節(jié)點(diǎn),10.6.0.196 為從復(fù)制節(jié)點(diǎn)。

進(jìn)入 WEB UI 選擇 項(xiàng)目, 選擇項(xiàng)目為 jicki , 然后選擇 復(fù)制 選項(xiàng)。

 

 

點(diǎn)擊 新增策略

 

 

 

創(chuàng)建完畢以后,我們可以看 復(fù)制策略 已經(jīng)有一欄。

復(fù)制任務(wù)里面 也已經(jīng)有一個(gè)任務(wù)。

 


稍等一會(huì),可以看到 復(fù)制任務(wù)里面 那個(gè)任務(wù)已經(jīng)提示 完成。


登陸 10.6.0.196 的 WEB UI

 

我們可以看到, 鏡像已經(jīng)復(fù)制過(guò)來(lái)。而且連 日志操作 也會(huì)復(fù)制過(guò)來(lái)。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

harbor 升級(jí)

 

一、

cd harbor/Deploy/

執(zhí)行 docker-compose down

刪除原有的容器

 

二、

備份整個(gè)目錄

mv harbor/ /tm/harbor

 

三、

重新 下載新的源碼

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

 

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

cd harbor/migration/

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

docker build -t migrate-tool .

 

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

數(shù)據(jù)庫(kù)備份:
docker run -ti --rm -v /data/database:/var/lib/mysql -v /path/to/backup:/harbor-migration/backup migrate-tool backup

 

六、
數(shù)據(jù)庫(kù)還原:
docker run -ti --rm -v /data/database:/var/lib/mysql migrate-tool up head

 

七、
對(duì)比一下配置文件:

cd harbor/Deploy/

diff harbor.cfg /tmp/harbor/Deploy/harbor.cfg

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

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

 

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

cd /harbor/Deploy/

./prepare

 

九、
最后build 新的鏡像,啟動(dòng)容器

cd /harbor/Deploy/

docker-compose up --build -d

 

十、
登陸 WEB UI 檢查是否OK

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多