欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年12月16日 10:22:23   作者:Zhisheng Tian  
這篇文章主要介紹了詳解基于Harbor搭建Docker私有鏡像倉庫,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

什么是 Harbor?

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

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

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

環(huán)境準備

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

2、Docker 版本:17.05.0-ce

3、Docker-compose:1.17.1

4、Harbor:1.1.2

安裝 Docker

因為系統(tǒng)是 CentOS 7.3 ,內(nèi)核啥的都已經(jīng)是 3.10,所以不用擔心內(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服務,再#yum install docker-engine 更新docker版本
systemctl enable docker.service
systemctl start  docker       //啟動docker守護進程
docker info              //查看docker運行情況
docker -v              //查看版本信息

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

復制代碼 代碼如下:

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

使用 service docker restart 重啟 Docker 服務即可。

或者用官方提供的方式:

復制代碼 代碼如下:
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://ef017c13.m.daocloud.io[/code]

安裝 Docker-compose

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

下載指定版本的docker-compose

[code]
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

對二進制文件賦可執(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/compose/install/#install-compose

這種需要通過 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    //因為服務器自帶 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
#離線安裝包,也是龜速,把這個下載鏈接用迅雷下載,速度卻賊快,嘿嘿,然后再傳到服務器上去,整個過程快很多!
tar -zxvf harbor-offline-installer-v1.1.2.tgz

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

## Configuration file of Harbor
# hostname設(shè)置訪問地址,可以使用ip、域名,不可以設(shè)置為127.0.0.1或localhost
hostname = 115.159.227.249  #這里我先配置我的服務器IP地址
# 訪問協(xié)議,默認是http,也可以設(shè)置https,如果設(shè)置https,則nginx ssl需要設(shè)置on
ui_url_protocol = http
# mysql數(shù)據(jù)庫root用戶默認密碼root123,實際使用時修改下
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 = sample_admin@mydomain.com
email_password = abc
email_from = admin <sample_admin@mydomain.com>
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登錄的密碼,默認是Harbor12345
harbor_admin_password = Harbor12345
# 認證方式,這里支持多種認證方式,如LADP、本次存儲、數(shù)據(jù)庫認證。默認是db_auth,mysql數(shù)據(jù)庫認證
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有效時間,默認30分鐘
token_expiration = 30
# 用戶創(chuàng)建項目權(quá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,修改完配置文件后,在的當前目錄執(zhí)行./install.sh,Harbor服務就會根據(jù)當期目錄下的docker-compose.yml開始下載依賴的鏡像,檢測并按照順序依次啟動各個服務。

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

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

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

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

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

系統(tǒng)管理

  1. 用戶管理:新增/刪除用戶、設(shè)置管理員等
  2. 復制管理:新增/刪除從庫目標、新建/刪除/啟停復制規(guī)則等
  3. 配置管理:認證模式、復制、郵箱設(shè)置、系統(tǒng)設(shè)置等

其他設(shè)置

  1. 用戶設(shè)置:修改用戶名、郵箱、名稱信息
  2. 修改密碼:修改用戶密碼

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

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

注意:

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

vim /usr/lib/systemd/system/docker.service
#里面的這行修改為:(其實就是添加 --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 服務:

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    //給我的鏡像打個 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,選擇項目 library,就可以看到我剛 push 的鏡像了。

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

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • docker目錄掛載的新語法小結(jié)

    docker目錄掛載的新語法小結(jié)

    本文主要介紹了docker目錄掛載的新語法小結(jié),詳細的介紹了兩種掛載目錄的區(qū)別,具有一定的參考價值,感興趣的可以了解一下
    2025-01-01
  • Docker容器中沒有vi/ps等命令問題

    Docker容器中沒有vi/ps等命令問題

    這篇文章主要介紹了Docker容器中沒有vi/ps等命令問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 通過docker?create與export分析診斷故障鏡像

    通過docker?create與export分析診斷故障鏡像

    在容器化技術(shù)主導現(xiàn)代應用部署的今天,Docker鏡像的可靠性直接影響著系統(tǒng)的穩(wěn)定性,然而,當開發(fā)者面對一個無法正常啟動的"問題鏡像"時,傳統(tǒng)的調(diào)試手段往往顯得捉襟見肘,此時,docker?create與docker?export的組合技可以解決這個問題,下面小編給大家詳細說說
    2025-04-04
  • 如何快速清理 docker 資源的方法

    如何快速清理 docker 資源的方法

    這篇文章主要介紹了如何快速清理 docker 資源,具體點說就是刪除那些無用的 鏡像、容器、網(wǎng)絡(luò)和數(shù)據(jù)卷,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • ssh 直接登錄docker容器的操作方法(不用通過宿主機進入)

    ssh 直接登錄docker容器的操作方法(不用通過宿主機進入)

    這篇文章主要介紹了ssh 直接登錄docker容器的操作方法(不用通過宿主機進入),本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-06-06
  • Docker數(shù)據(jù)存儲之Bind mounts詳解

    Docker數(shù)據(jù)存儲之Bind mounts詳解

    今天小編就為大家分享一篇關(guān)于Docker數(shù)據(jù)存儲之Bind mounts詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Docker?Desktop?安裝的詳細步驟

    Docker?Desktop?安裝的詳細步驟

    作為開發(fā)人員,在日常開發(fā)中,我們需要在本地去啟動一些服務,可以使用Docker?Desktop,本文主要介紹了Docker?Desktop?安裝的詳細步驟,感興趣的可以了解一下
    2023-08-08
  • Docker+DockerCompose封裝web應用的方法步驟

    Docker+DockerCompose封裝web應用的方法步驟

    這篇文章會介紹如何將后端、前端和網(wǎng)關(guān)通通使用 Docker 容器進行運行,并最終使用 DockerCompose 進行容器編排,感興趣的可以了解一下
    2021-08-08
  • Docker 教程之數(shù)據(jù)管理詳細介紹

    Docker 教程之數(shù)據(jù)管理詳細介紹

    這篇文章主要介紹了Docker 教程之數(shù)據(jù)管理詳細介紹的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • 詳解Docker中安裝配置Oracle數(shù)據(jù)庫

    詳解Docker中安裝配置Oracle數(shù)據(jù)庫

    本篇文章主要介紹了詳解Docker中安裝配置Oracle數(shù)據(jù)庫,具有一定的參考價值,有興趣的可以了解一下。
    2017-04-04

最新評論