成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

基于 Harbor 搭建 Docker 私有鏡像倉庫

lvzishen / 1236人閱讀

摘要:的每個(gè)組件都是以容器的形式構(gòu)建的,使用來對它進(jìn)行部署。登錄輸入用戶名,默認(rèn)密碼或已修改密碼登錄系統(tǒng)。

什么是 Harbor?

第一次使用這個(gè)的時(shí)候是剛進(jìn)公司處理的第一個(gè)任務(wù)的時(shí)候,發(fā)現(xiàn) Harbor 就是一個(gè)用于存儲和分發(fā) Docker 鏡像的企業(yè)級Registry 服務(wù)器。

網(wǎng)上找到一個(gè) Harbor 的架構(gòu)圖:

Harbor 是 VMware 公司開源的企業(yè)級 DockerRegistry 項(xiàng)目,項(xiàng)目地址為 https://github.com/vmware/harbor。其目標(biāo)是幫助用戶迅速搭建一個(gè)企業(yè)級的 Docker registry 服務(wù)。它以 Docker 公司開源的 registry 為基礎(chǔ),提供了管理UI,基于角色的訪問控制(Role Based Access Control),AD/LDAP集成、以及審計(jì)日志(Auditlogging) 等企業(yè)用戶需求的功能,同時(shí)還原生支持中文。Harbor 的每個(gè)組件都是以 Docker 容器的形式構(gòu)建的,使用 Docker Compose 來對它進(jìn)行部署。

環(huán)境準(zhǔn)備

1、自己在騰訊云買的服務(wù)器(CentOS7.3)

2、Docker 版本:17.05.0-ce

3、Docker-compose:1.17.1

4、Harbor:1.1.2

安裝 Docker

因?yàn)橄到y(tǒng)是 CentOS 7.3 ,內(nèi)核啥的都已經(jīng)是 3.10,所以不用擔(dān)心內(nèi)核升級的問題,一些操作啥的在 7.x 上操作也很方便。

yum  update                             //系統(tǒng)版本更新

vim /etc/yum.repos.d/docker.repo        //添加以下內(nèi)容

[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg

//下面安裝 Docker 引擎
yum install docker-engine  -y

//安裝docker引擎,此步也可作為更新docker版本的操作:先#systemctl stop docker 停止docker服務(wù),再#yum install docker-engine 更新docker版本

systemctl  enable  docker.service

systemctl  start   docker              //啟動docker守護(hù)進(jìn)程

docker info                            //查看docker運(yùn)行情況

docker -v                            //查看版本信息

修改 Docker 配置文件 /etc/default/docker 如下:

DOCKER_OPTS="--registry-mirror=http://aad0405c.m.daocloud.io"    //換成國內(nèi)的鏡像加速源,不然拉取鏡像簡直龜速,不想在吐槽了

使用 service docker restart 重啟 Docker 服務(wù)即可。

或者用官方提供的方式:

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://ef017c13.m.daocloud.io
安裝 Docker-compose

如果是想直接命令安裝也行,

下載指定版本的docker-compose

sudo curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

對二進(jìn)制文件賦可執(zhí)行權(quán)限

chmod +x /usr/local/bin/docker-compose

測試下docker-compose是否安裝成功

docker-compose --version

出現(xiàn)如下
docker-compose version 1.17.1, build 6d101fb

但是,這種方法簡直龜速,幸好還有種方法,

見這里:https://docs.docker.com/compo...

這種需要通過 Python 的 pip 安裝

安裝 pip
wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz

tar -vxf setuptools-1.4.2.tar.gz

cd setuptools-1.4.2

python2.7 setup.py install        //因?yàn)榉?wù)器自帶 Python 2.7

easy_install-2.7 pip
安裝 docker compose
pip install docker-compose

docker-compose --version    //測試安裝是否成功
安裝 Harbor
wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-offline-installer-v1.1.2.tgz

離線安裝包,也是龜速,把這個(gè)下載鏈接用迅雷下載,速度卻賊快,嘿嘿,然后再傳到服務(wù)器上去,整個(gè)過程快很多!

tar -zxvf harbor-offline-installer-v1.1.2.tgz

解壓縮之后,進(jìn)入目錄下會看到 harbor.cfg 文件,該文件就是 Harbor 的配置文件。

## Configuration file of Harbor

# hostname設(shè)置訪問地址,可以使用ip、域名,不可以設(shè)置為127.0.0.1或localhost
hostname = 115.159.227.249   #這里我先配置我的服務(wù)器IP地址

# 訪問協(xié)議,默認(rèn)是http,也可以設(shè)置https,如果設(shè)置https,則nginx ssl需要設(shè)置on
ui_url_protocol = http

# mysql數(shù)據(jù)庫root用戶默認(rèn)密碼root123,實(shí)際使用時(shí)修改下
db_password = root123

#Maximum number of job workers in job service
max_job_workers = 3

#Determine whether or not to generate certificate for the registry"s token.
#If the value is on, the prepare script creates new root cert and private key
#for generating token to access the registry. If the value is off the default key/cert will be used.
#This flag also controls the creation of the notary signer"s cert.
customize_crt = on

#The path of cert and key files for nginx, they are applied only the protocol is set to https
ssl_cert = /data/cert/server.crt
ssl_cert_key = /data/cert/server.key

#The path of secretkey storage
secretkey_path = /data

#Admiral"s url, comment this attribute, or set its value to NA when Harbor is standalone
admiral_url = NA

#NOTES: The properties between BEGIN INITIAL PROPERTIES and END INITIAL PROPERTIES
#only take effect in the first boot, the subsequent changes of these properties
#should be performed on web ui

#************************BEGIN INITIAL PROPERTIES************************

#Email account settings for sending out password resetting emails.

#Email server uses the given username and password to authenticate on TLS connections to host and act as identity.
#Identity left blank to act as username.
email_identity =

email_server = smtp.mydomain.com
email_server_port = 25
email_username = [email protected]
email_password = abc
email_from = admin 
email_ssl = false

##The initial password of Harbor admin, only works for the first time when Harbor starts.
#It has no effect after the first launch of Harbor.
# 啟動Harbor后,管理員UI登錄的密碼,默認(rèn)是Harbor12345
harbor_admin_password = Harbor12345

# 認(rèn)證方式,這里支持多種認(rèn)證方式,如LADP、本次存儲、數(shù)據(jù)庫認(rèn)證。默認(rèn)是db_auth,mysql數(shù)據(jù)庫認(rèn)證
auth_mode = db_auth

#The url for an ldap endpoint.
ldap_url = ldaps://ldap.mydomain.com

#A user"s DN who has the permission to search the LDAP/AD server.
#If your LDAP/AD server does not support anonymous search, you should configure this DN and ldap_search_pwd.
#ldap_searchdn = uid=searchuser,ou=people,dc=mydomain,dc=com

#the password of the ldap_searchdn
#ldap_search_pwd = password

#The base DN from which to look up a user in LDAP/AD
ldap_basedn = ou=people,dc=mydomain,dc=com

#Search filter for LDAP/AD, make sure the syntax of the filter is correct.
#ldap_filter = (objectClass=person)

# The attribute used in a search to match a user, it could be uid, cn, email, sAMAccountName or other attributes de
pending on your LDAP/AD  ldap_uid = uid

#the scope to search for users, 1-LDAP_SCOPE_BASE, 2-LDAP_SCOPE_ONELEVEL, 3-LDAP_SCOPE_SUBTREE
ldap_scope = 3

#Timeout (in seconds)  when connecting to an LDAP Server. The default value (and most reasonable) is 5 seconds.
ldap_timeout = 5

# 是否開啟自注冊
self_registration = on

# Token有效時(shí)間,默認(rèn)30分鐘
token_expiration = 30

# 用戶創(chuàng)建項(xiàng)目權(quán)限控制,默認(rèn)是everyone(所有人),也可以設(shè)置為adminonly(只能管理員)
project_creation_restriction = everyone

#Determine whether the job service should verify the ssl cert when it connects to a remote registry.
#Set this flag to off when the remote registry uses a self-signed or untrusted certificate.
verify_remote_cert = on
#************************END INITIAL PROPERTIES************************

啟動 harbor,修改完配置文件后,在的當(dāng)前目錄執(zhí)行./install.sh,Harbor服務(wù)就會根據(jù)當(dāng)期目錄下的docker-compose.yml開始下載依賴的鏡像,檢測并按照順序依次啟動各個(gè)服務(wù)。

啟動完成后,我們訪問剛設(shè)置的 hostname 即可,http://115.159.227.249/,默認(rèn)是80端口,如果端口占用,我們可以去修改docker-compose.yml文件中,對應(yīng)服務(wù)的端口映射。

登錄 Web Harbor , 輸入用戶名 admin,默認(rèn)密碼(或已修改密碼)登錄系統(tǒng)。

我們可以看到系統(tǒng)各個(gè)模塊如下:

項(xiàng)目:新增/刪除項(xiàng)目,查看鏡像倉庫,給項(xiàng)目添加成員、查看操作日志、復(fù)制項(xiàng)目等

日志:倉庫各個(gè)鏡像create、push、pull等操作日志

系統(tǒng)管理

用戶管理:新增/刪除用戶、設(shè)置管理員等

復(fù)制管理:新增/刪除從庫目標(biāo)、新建/刪除/啟停復(fù)制規(guī)則等

配置管理:認(rèn)證模式、復(fù)制、郵箱設(shè)置、系統(tǒng)設(shè)置等

其他設(shè)置

用戶設(shè)置:修改用戶名、郵箱、名稱信息

修改密碼:修改用戶密碼

注意:非系統(tǒng)管理員用戶登錄,只能看到有權(quán)限的項(xiàng)目和日志,其他模塊不可見。

我們要嘗試下能不能把自己 Docker 里面的鏡像 push 到 Harbor 的 library 里來(默認(rèn)這個(gè) library 項(xiàng)目是公開的,所有人都可以有讀的權(quán)限,都不需要 docker login 進(jìn)來,就可以拉取里面的鏡像)。

注意:

為了后面留坑,我這里先 在自己的 docker.service 中添加倉庫:(這是個(gè)坑,建議你先按照我說的做,不然下面可能會一直登錄不上)

vim /usr/lib/systemd/system/docker.service

里面的這行修改為:(其實(shí)就是添加 --insecure-registry 115.159.227.249 )
ExecStart=/usr/bin/dockerd --insecure-registry 115.159.227.249

添加完了后重新啟動 docker:

systemctl daemon-reload && systemctl enable docker && systemctl start docker

啟動 docker 服務(wù):

service docker start

登錄:(為了測試下能否登錄成功)

admin登錄
$ docker login 115.159.227.249
Username: admin
Password:
Login Succeeded

打 tag 并 push

docker tag ubuntu:15.10  115.159.227.249/library/ubuntu:15.10        //給我的鏡像打個(gè) tag

docker push  115.159.227.249/library/ubuntu

The push refers to a repository [115.159.227.249/library/ubuntu]
98d59071f692: Pushed
af288f00b8a7: Pushed
4b955941a4d0: Pushed
f121afdbbd5d: Pushed
15.10: digest: sha256:ec89c4a90f45f5e103860191890f48d8379e0504a2881ff706aef0768dc0321b size: 1150

上傳完畢后,登錄Web Harbor,選擇項(xiàng)目 library,就可以看到我剛 push 的鏡像了。

同理,你也可以測試下從 Harbor pull 鏡像到你的 Docker 中去,這里就不繼續(xù)演示了。

最后

轉(zhuǎn)載請注明地址為:http://www.54tianzhisheng.cn/...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27160.html

相關(guān)文章

  • 可能是最詳細(xì)的部署:Docker Registry企業(yè)級私有鏡像倉庫Harbor管理WEB UI

    摘要:私有倉庫是,并在中運(yùn)行。不要使用或?yàn)橹鳈C(jī)名注冊表服務(wù)需要由外部客戶端訪問或,默認(rèn)為用于訪問和令牌通知服務(wù)的協(xié)議。打開或關(guān)閉,默認(rèn)打開打開此屬性時(shí),準(zhǔn)備腳本創(chuàng)建私鑰和根證書,用于生成驗(yàn)證注冊表令牌。 上一篇文章搭建了一個(gè)具有基礎(chǔ)功能,權(quán)限認(rèn)證、TLS 的私有倉庫,但是Docker Registry 作為鏡像倉庫,連管理界面都沒有,甚至連一些運(yùn)維必備的功能都是缺失的,還有什么 Docker...

    沈儉 評論0 收藏0
  • Docker Registry Server 搭建,配置免費(fèi)HTTPS證書,及擁有權(quán)限認(rèn)證、TLS

    摘要:上一篇文章搭建了一個(gè)具有基礎(chǔ)功能的私有倉庫,這次來搭建一個(gè)擁有權(quán)限認(rèn)證的私有倉庫。移動證書到目錄。身份驗(yàn)證為用戶創(chuàng)建一個(gè)帶有一個(gè)條目的密碼文件,密碼為創(chuàng)建倉庫啟動注冊表,指示它使用證書。注冊表在端口默認(rèn)的端口上運(yùn)行。 上一篇文章搭建了一個(gè)具有基礎(chǔ)功能的私有倉庫,這次來搭建一個(gè)擁有權(quán)限認(rèn)證、TLS 的私有倉庫。 環(huán)境準(zhǔn)備 系統(tǒng):Ubuntu 17.04 x64 IP:198.13.48...

    liuchengxu 評論0 收藏0
  • 使用nexus3.x配置docker鏡像倉庫倉庫代理

    摘要:正好我們在使用作為的倉庫,同時(shí)提供了等諸多類型的倉庫功能。值得一提的是,我們可以使用這個(gè)倉庫從和下載鏡像,但是我們不能通過這個(gè)倉庫推送鏡像到遠(yuǎn)程倉庫。 背景 我們一直使用 harbor 作為docker的鏡像倉庫,但Harbor只能作為私有倉庫,當(dāng)需要Docker Hub 或 Google Cloud Containers 上的鏡像時(shí),我們只能自己手動pull,重新打tag,再push...

    HollisChuang 評論0 收藏0
  • VMware Harbor基于 Docker Distribution 的企業(yè)級 Registry

    摘要:架構(gòu)介紹主要組件在架構(gòu)上主要由五個(gè)組件構(gòu)成的等服務(wù),通過一個(gè)前置的反向代理統(tǒng)一接收瀏覽器客戶端的請求,并將請求轉(zhuǎn)發(fā)給后端不同的服務(wù)。目前不支持功能已提交。 前言 對于 Harbor 這樣一個(gè)優(yōu)秀的 Docker Registry 管理開源項(xiàng)目,以下內(nèi)容基本上來自前人已有的研究,我只是將其在實(shí)踐中進(jìn)行了測試,并整理匯集了相關(guān)資料供大家參考,同時(shí)針對 Harbor 與 Rancher產(chǎn)品的...

    simon_chen 評論0 收藏0
  • 超長干貨:基于Docker的DevOps CI/CD實(shí)踐——來自iHealth的分享

    摘要:在貓屎氤氳的霧氣里角仰望天花板,手機(jī)微信提醒這次構(gòu)建成功或失敗,并附帶污言穢語。這時(shí)他可以開始往工位走,坐下時(shí),微信又會提醒本次部署到成功或失敗。與企業(yè)微信的集成在決定使用之前,需要知道的是,是一個(gè)高度依賴社區(qū)的項(xiàng)目。 前言 相信我,一切事情的發(fā)生都是趕鴨子上架,沒有例外。人類所有偉大的變革都是迫不得已,可又是那么順其自然。比如容器(docker)技術(shù)的誕生,比如箭在弦上的創(chuàng)業(yè),比如野...

    Dongjie_Liu 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<